北京SEO

mysql过程去除html标签的函数例子

2019/10/10/17:32:40  阅读:1893  来源:谷歌SEO算法  标签: 微信公众号

mysql本身没有去除html代码的内置函数,但是在一些情况下,不得不在数据库层次提取一些去除了html代码的纯文本,经过谷歌后,找到了以下两个函数,经测试,均可用.

SQL代码:

  1. SETGLOBALlog_bin_trust_function_creators=1;
  2. DROPFUNCTIONIFEXISTSfnStripTags;
  3. DELIMITER|
  4. CREATEFUNCTIONfnStripTags(Dirtyvarchar(4000))
  5. RETURNSvarchar(4000)--phpfensi.com
  6. DETERMINISTIC
  7. BEGIN
  8. DECLAREiStart,iEnd,iLengthint;
  9. WHILELocate('<',Dirty)>0AndLocate('>',Dirty,Locate('<',Dirty))>0DO
  10. BEGIN
  11. SETiStart=Locate('<',Dirty),iEnd=Locate('>',Dirty,Locate('<',Dirty));
  12. SETiLength=(iEnd-iStart)+1;
  13. IFiLength>0THEN
  14. BEGIN
  15. SETDirty=Insert(Dirty,iStart,iLength,'');
  16. END;
  17. ENDIF;
  18. END;
  19. ENDWHILE;
  20. RETURNDirty;
  21. END;
  22. |
  23. DELIMITER;
  24. SELECTfnStripTags('this<html>is<b>atest</b>,nothingmore</html>');

函数2:

  1. CREATEFUNCTION`strip_tags`($strtext)RETURNStext
  2. BEGIN
  3. DECLARE$start,$endINTDEFAULT1;
  4. LOOP
  5. SET$start=LOCATE("<",$str,$start);
  6. IF(!$start)THENRETURN$str;ENDIF;
  7. SET$end=LOCATE(">",$str,$start);
  8. IF(!$end)THENSET$end=$start;ENDIF;
  9. SET$str=INSERT($str,$start,$end-$start+1,"");
  10. ENDLOOP;
  11. END;
  12. selectstrip_tags('<span>hel<b>lo<ahref="world">wo<>rld</a><<x>again<.');

补充:如果你是php程序员就不需要上面的方法了,直接有现在的代码.

  1. <?php
  2. $text='<p>Testparagraph.</p><!--Comment--><ahref="#fragment">Othertext</a>';
  3. echostrip_tags($text);
  4. echo"";
  5. //允许<p>和<a>
  6. echostrip_tags($text,'<p><a>');
  7. ?>
  8. //以上例程会输出:
  9. Testparagraph.Othertext
  10. <p>Testparagraph.</p><ahref="#fragment">Othertext</a>

广告内容

mysql过程去除html标签的函数例子 mysql过程去除html标签的函数例子 mysql过程去除html标签的函数例子

相关阅读

热门评论

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法