如何移除MySQL字段中的Html标签
在处理文本数据时,我们经常会遇到需要清除HTML标签的情况,在MySQL中,我们可以使用正则表达式和一些字符串函数来实现这一目标。 本文将介绍如何使用MySQL清除HTML标签。
MySQL 8
使用原生函数。
SELECT REGEXP_REPLACE(field, '<[^>]*>+', '') FROM table
MySQL 8以下版本
使用自定义函数。
DROP FUNCTION IF EXISTS fnRemoveHtml; DELIMITER $$ $$ CREATE DEFINER=`root`@`%` FUNCTION `fnRemoveHtml`( Dirty text(0) ) RETURNS text CHARSET utf8 BEGIN -- 过滤HTML字符串 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 ;