当前位置: 代码迷 >> HTML/CSS >> mysql函数学习-过滤html标签
  详细解决方案

mysql函数学习-过滤html标签

热度:143   发布时间:2012-08-27 21:21:57.0
mysql函数学习--过滤html标签
我是这么写的mysql函数,用来过滤数据库某张表里的某个字段里包含的html标签。
当查询这个字段时,我直接调用这个函数就可以了。

DELIMITER $$

DROP FUNCTION IF EXISTS `abgent_website`.`removeHtml`$$

CREATE FUNCTION `removeHtml`(s varchar(255)) RETURNS varchar(255)
BEGIN
    declare d int(20);
    declare dd int(20);
    declare sumstr varchar(255);
    while (instr(s,'<')!=0 && instr(s,'>')!=0) do
      
      set d = instr(s,'<');
      set dd = instr(s,'>');
      set sumstr = substr(s,1,d-1);
      set s = substr(s,dd+1);
      set s = concat(sumstr,s);
    end while;
    return s;
    END$$

DELIMITER ;


我是这么写的,虽然是把所有带<>这个符号都过滤掉了,但是我感觉里面不太好,一旦我想在里面写入带<>内容,它都给我过滤掉了,其实我只想过滤属于html标签的一些内容,而不是所有带<>尖括号的内容,请问还有别的更好的方法吗?
  相关解决方案