php - 用于从字段中删除所有标签的 MY SQL 查询
问题描述
我有一个 WordPress 网站,最近受到恶意软件攻击。我设法删除了所有恶意软件文件和广告安全。
但是那个黑客在所有帖子内容的结尾注入了一些如下所示的随机网址。网站有大约 1.5k 个帖子。
<a href="http://www.cgparkaoutlet.com">canada goose outlet</a> <a href="http://www.cgparkaoutlet.com">canada goose outlet</a>
我需要删除这些链接。已经测试过这个 mysql 但它不工作
UPDATE wp_posts SET post_content = REPLACE(post_content, substring_index( substring_index(post_content, 'href="', -1), '"', 1),'');
UPDATE wp_posts SET post_content = REPLACE(post_content, '<a href="">','');
UPDATE wp_posts SET post_content= REPLACE(post_content, '<a href="" target="_blank">','');
UPDATE wp_posts SET post_content= REPLACE(post_content, '</a>','');
任何人都知道如何在不老化内容的情况下从所有帖子中删除这些链接。谢谢你
解决方案
我建议你,例如使用 wp_strip_all_tags wordpress 功能:
global $wpdb;
$wpdb->query("update `wp_posts` set post_content = ".wp_strip_all_tags( $string ) ....);
https://codex.wordpress.org/Function_Reference/wp_strip_all_tags
推荐阅读
- vue.js - Vue:在组件中查看 v-model 的“值”
- python - 如何优化 PyTorch 中循环损失函数的内存使用?
- java - Android资源链接失败错误:写入数据无效。(13)
- selenium - 如何在selenium xpath中遍历祖先并返回孩子?
- javascript - 使用 jest 执行单元测试不覆盖函数内的回调函数
- makefile - Makefile - 如果它已经存在,则不要重建仅订单依赖项
- protobuf-net - 如何使用 protobuf-net 从 .proto 模式反序列化为运行时类型
- node.js - 如何将产品表单和图像上传到 MongoDB atlas 服务器?
- powerbi - Power Query - 删除基于日期的重复项
- c++ - 使用 C++17 构建 ios 应用程序?