我不太擅长 mysql,所以我需要一些帮助。
我正在尝试从我的 WordPress 博客中删除一些特定链接。我有很多指向多个域的传出链接,我只想删除其中一个域的链接。例如,所有指向 dontneedlink.com 或以 dontneedlink.com/(某些子页面)开头的链接
我已经尝试了
UPDATE wp_posts SET post_content = REPLACE (
post_content,
'Item to replace here',
Replacement text here');
但这对我来说不是上帝,因为我有很多关键词,而且有很多组合。
因此,我需要某种查询来识别包含 dontneedlink.com 的链接,并删除 href 文本并保持关键字不变。
< a href=”http:// dontneedlink.com”>Test</a> -> Test
< a href=”http:// dontneedlink.com”>Test Again</a> -> Test Again
< a href=”http:// dontneedlink.com/childpage”>Test Again 2</a> -> Test Again 2
这可能吗? 这将为我节省大量时间,而不是从一篇文章转到另一篇文章并手动删除。
最佳答案
您需要使用“like”来查找帖子和子字符串索引以删除不需要的内容
substring_index( substring_index(table.column, 'href=”', -1), '"',1)
将提取您的链接
mysql> SELECT REPLACE(table_column, substring_index( substring_index(table.column, 'href=”', -1), '"',1) , '');
这将为您提供不带链接的文本。您将剩下
< a href=””>Test</a>
然后执行另一个替换或子字符串索引以删除任何不需要的残留物。
最后在以下位置使用正确的过滤器运行它:
UPDATE wp_posts SET post_content = REPLACE (
post_content,
'Item to replace here',
Replacement text here')
where mycolumn like "%dontneedthisdomain.com%"
关于mysql - 使用查询从 WordPress 中的帖子中删除链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19356897/