2016-11-09 96 views
1

我需要删除表中的所有链接表单列。因此,对于列条目是这样的:从文本中删除ahref标记mysql

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

我需要删除整个链路,因此它最终会是这样的:

American drama film directed by Richard LaGravenese 

有没有办法用一个UPDATE语句来做到这一点? (MySQL的)

回答

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