删除/替换SQL数据库中的所有图像

时间:2013-02-09 22:26:37

标签: mysql sql regex html-parsing

我有一个有400k帖子的mysql数据库。在大约100k的帖子是图像。例如:

text text text <img src="/images/test.jpg"> text text text

必须删除完整的图像字符串<img src="/images/test.jpg">。但它并不总是<img src/images/test.jpg">有很多变种。所以我无法使用典型的sql替换。

我需要的是“两个字符之间的sql替换”。对我来说,删除/替换"<img" and ">"之间的所有内容,然后选择<img and >

这有可能吗? 谢谢

1 个答案:

答案 0 :(得分:0)

MySQL支持正则表达式:

UPDATE Mytable SET url = '' WHERE url RLIKE someregex;

请参阅:http://dev.mysql.com/doc/refman/5.1/en/regexp.html

类似的东西:

UPDATE Mytable SET url = '' WHERE url RLIKE '\\<img.\\>'

但请注意 MySQL不支持正则表达式字符串的输出。它只会比较。

但是,有一个MySQL用户函数REGEX_REPLACE,请参阅:https://launchpad.net/mysql-udf-regexp
另请参阅此问题:How to count words in MySQL / regular expression replacer?