我一直试图批量删除Wordpress上的帖子垃圾链接,如下所示:
< a style =“text-decoration:none”href =“/ price-of-xenical-at-pharmacy”>.< / a>
它们驻留在post_content列下的wp_posts表中.我试图通过在href标签中添加%的外卡来做到这一点,因为所有的URL都不同但锚(句号)和内联样式是相同的.
UPDATE wp_posts
SET post_content = REPLACE (post_content,'
我后来被告知SQL不支持我正在尝试做的事情(或者至少我正在做的事情).
我正在使用显然支持REGEXP_REPLACE的MariaDB,所以我正在寻找一些关于SQL Query和REGEX我需要大量删除这些链接但保留所有其他内容的指导.
任何帮助非常感谢,目标是删除上面的字符串,或替换为空格
UPDATE
示例帖子内容,最后一个链接是我需要删除的类型. :
最佳答案
如果要删除所有锚标记,但保留包含在标记中的文本,请尝试使用此模式:
然后,只用第一个捕获组替换.除了我们使用(.*?)来捕获锚标签之间的内容之外,对模式没什么好说的. .*?很重要,并告诉正则表达式引擎停在第一个结束标记.否则,如果我们只使用(.*),它可能会消耗多个锚标记,如果它们存在于您的列中.
SELECT
REGEXP_REPLACE('
以上查询输出BLAH.
如果你想要剥离所有锚标签,那么使用:
SELECT
REGEXP_REPLACE('
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。