在mysql中去除字符串中html标签SQL语句集中方法
生活随笔
收集整理的這篇文章主要介紹了
在mysql中去除字符串中html标签SQL语句集中方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在日常開發中,我們會遇到需要在數據庫中對通過web網站中文本編輯器提交上來的內容進行一些特殊處理等,此處是針對mysql數據庫中去除字符串中的html標簽SQL語句。
直接貼上代碼:
SET GLOBAL log_bin_trust_function_creators = 1; DROP FUNCTION IFEXISTS fnStripTags;DELIMITER | CREATE FUNCTION fnStripTags ( Dirty LONGTEXT ) /*這里的longtext根據需要處理的字符串或字段類型自行定義*/ RETURNS LONGTEXT /*這里的longtext根據需要處理的字符串或字段類型自行定義*/ DETERMINISTIC BEGINDECLAREiStart,iEnd,iLength INT;WHILELocate( '<', Dirty ) > 0 AND Locate('>',Dirty,Locate( '<', Dirty )) > 0 DOBEGINSET iStart = Locate( '<', Dirty ),iEnd = Locate('>',Dirty,Locate( '<', Dirty ));SET iLength = ( iEnd - iStart ) + 1;IFiLength > 0 THENBEGINSET Dirty = INSERT ( Dirty, iStart, iLength, '' );END;END IF;END;END WHILE;RETURN Dirty;END; | DELIMITER;使用函數SQL:
select id,content,fnStripTags(content) asnewcontent from collectedworkstable order by id desc limit 100
示例圖:
?
?
以下是未驗證過的網上版本:
CREATE FUNCTION `strip_tags`($str text) RETURNS text BEGIN DECLARE $start, $end INT DEFAULT 1; LOOP SET $start = LOCATE("<", $str, $start); IF (!$start) THEN RETURN $str; 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; select strip_tags('<span>達健身房<b>lo <a href="34234234">傻傻的和<>rld</a> <<x>again<.');上邊是整理的Mysql中清除html代碼的SQL語句。
給大家推薦一個比較好用的在線工具:首頁|愛工具(AI工具)方便實用的在線服務工具
總結
以上是生活随笔為你收集整理的在mysql中去除字符串中html标签SQL语句集中方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 敏捷是项目管理+合作
- 下一篇: SQL 语句查询