mysql去除某个字段的html标签
2018年07月11日 15:48:57 一个小马龙 阅读数:1470
版权声明:如果转载此文章,请标明出处,谢谢! https://blog.csdn.net/qq_27811247/article/details/81001854
在公司数据迁移的过程中,将一些老的数据迁移到新的表里面,以前的企业简介是文本编辑器,文本编辑器会把html保存到库里。因此数据迁移过来后,字段里就多余了一些html标签。
下面就是一个处理html标签的函数。可以用批量修改的脚本加这个函数,将标签去掉。
SET GLOBAL log_bin_trust_function_creators=1;
DROP FUNCTION IF EXISTS fnStripTags;
DELIMITER |
CREATE FUNCTION fnStripTags( Dirty text(0) )
RETURNS text(0)
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 ;
一.运行对比
1.调用参数之前
2.调用函数之后
很显然,调用函数之后,除了“ ”,其余的标签基本被去除掉了。如果要去除“ ”,用replace(enterprise_profile,' ','')即可。