从文本mysql中删除ahref标记

时间:2016-11-09 06:01:38

标签: mysql

我需要删除表格中列的所有链接。所以对于这样的列条目:

 American drama film directed by <a href="http://www.google.com">Richard LaGravenese</a>

我需要删除整个链接,所以它最终会像这样:

American drama film directed by Richard LaGravenese

有没有办法用一个UPDATE语句执行此操作? (MySQL的)

2 个答案:

答案 0 :(得分:0)

你可以运行正则表达式

尝试使用mysql-udf-regexp

看一下这篇文章,它可能很有用

How to do a regular expression replace in MySQL?

答案 1 :(得分:0)

您可以创建strip_tags功能。

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;

<强>输出

mysql> select strip_tags('<span>hel<b>lo <a href="world">wo<>rld</a> <<x>again<.');
+----------------------------------------------------------------------+
| strip_tags('<span>hel<b>lo <a href="world">wo<>rld</a> <<x>again<.') |
+----------------------------------------------------------------------+
| hello world again.                                                   |
+----------------------------------------------------------------------+
1 row in set

感谢帖子https://stackoverflow.com/a/13347316/2689199