我是 SQL 的新手,需要从特定的 MySQL 数据库中删除数百个链接。我找到了一个工作 REGEXP 来查找这些条目,但我无法使用 UPDATE 查询。
在 MySQL数据库中查找和删除所有锚标记及其内容的最佳方法是什么?
示例:
Some text <a href="some-link.com">more text</a>
非常感谢任何帮助,谢谢!
修改
链接始终是最后一个条目,所以也许您可以找到锚标记的开头然后从那里删除所有内容?不知道怎么做。
答案 0 :(得分:1)
您可以使用:
UPDATE yourTable SET yourcolumn= REPLACE(yourcolumn, '<yourHtmlTag>', '');
这会改变这个:
------------------
id|yourcolumn
--|---------------
1|1111mytag2222
2|2222mytag3333
To this :
------------------
id|yourcolumn
--|---------------
1|11112222
2|22223333
答案 1 :(得分:0)
某些标签,例如B,I,SPAN,包含您要保留的文字?此外,这些可以嵌套吗?
某些标签,例如BR,P,是“独立的”。
某些标签,例如A,IMG,应该删除内容吗?
你可以在文本中使用多个标签,对吗?
除非您使用REGEXP_REPLACE()
运行MariaDB,否则最好在应用程序代码中执行任务。
MySQL示例
对于单次出现... <a ...>...</a> ...
并删除开始和结束标记:
SUBSTRING_INDEX()
可以找到<
>
MID()
或LEFT
()来删除行CONCAT()
将剩余的部分放在一起</a>
。