美文网首页
Mysql过滤Html标签自定义函数

Mysql过滤Html标签自定义函数

作者: 我是程序汪 | 来源:发表于2019-11-29 10:21 被阅读0次

1.方法一

DROP FUNCTION IF EXISTS fnStripTags;
DELIMITER |
CREATE FUNCTION fnStripTags( Dirty text CHARSET utf8)
RETURNS text CHARSET utf8
DETERMINISTIC 
BEGIN
  DECLARE iStart, iEnd, iLength int;
    WHILE Locate( '<', Dirty ) > 0 And Locate( '>', Dirty, Locate( '<', Dirty )) > 0 DO
      BEGIN
        SET iStart = Locate( '<', Dirty ), iEnd = Locate( '>', Dirty, Locate('<', Dirty ));
        SET iLength = ( iEnd - iStart) + 1;
        IF iLength > 0 THEN
          BEGIN
            SET Dirty = Insert( Dirty, iStart, iLength, '');
          END;
        END IF;
      END;
    END WHILE;
    RETURN Dirty;
END;
|
DELIMITER ;

2.方法二:

DROP FUNCTION IF EXISTS del_script_tags;  
CREATE FUNCTION `del_script_tags`($str mediumtext) RETURNS mediumtext    
BEGIN  
    DECLARE $start, $end INT DEFAULT 1;   
    LOOP_SCRIPT: LOOP   
        SET $start = LOCATE("<script", $str, $start);   
        IF (!$start) THEN LEAVE LOOP_SCRIPT; END IF;   
        SET $end = LOCATE("</script>", $str, $start);   
        IF (!$end) THEN SET $end = $start; END IF;   
        SET $str = INSERT($str, $start, $end - $start + 9, '');
    END LOOP;

        SET $start = 1;
        SET $end  = 1;
    LOOP_STYLE: LOOP   
        SET $start = LOCATE("<style", $str, $start);   
        IF (!$start) THEN LEAVE LOOP_STYLE; END IF;   
        SET $end = LOCATE("</style>", $str, $start);   
        IF (!$end) THEN SET $end = $start; END IF;   
        SET $str = INSERT($str, $start, $end - $start + 8, '');
    END LOOP;

        SET $start = 1;
        SET $end  = 1;
    LOOP   
        SET $start = LOCATE("<", $str, $start);   
        IF (!$start) THEN RETURN TRIM(REPLACE(REPLACE($str, CHAR(10), ''),' ','')); END IF;   
        SET $end = LOCATE(">", $str, $start);   
        IF (!$end) THEN SET $end = $start; END IF;   
        SET $str = INSERT($str, $start, $end - $start + 1, '');   
    END LOOP;        
END; 

相关文章

网友评论

      本文标题:Mysql过滤Html标签自定义函数

      本文链接:https://www.haomeiwen.com/subject/upriwctx.html