mysql - 需要使用 MySQL 从 WordPress 页面中删除带有可变内容的遗留简码
问题描述
我在 WP 站点中有许多页面(帖子),其中包含需要删除的遗留短代码,并且无法使用 WordPress 查找/替换插件完成我需要的操作 - 所以我转向 MySQL 查询。
要删除的短代码都遵循相同的模式:"[nivo... (variable content) .../nivo]
我需要删除整个 nivo 简码,并且只删除 nivo 简码,因为某些页面上存在其他简码。
我发现了一些非常接近我认为我需要的东西,并修改了这个特定应用程序的明显参数,如下所示......
UPDATE `post_content`
REPLACE(txt, SUBSTRING(txt, LOCATE('[nivo', txt), LENGTH(txt) - LOCATE('nivo]', REVERSE(txt)) - LOCATE('nivo]', txt) + 10), '')
WHERE txt LIKE '%(%)%'
这^^^
在 SQL 查询窗口中被接受(没有停止符号),但在执行时返回 #1064 错误。
理想情况下,我想首先在特定的帖子 ID 上测试它,以确保它真的捕捉到了所有内容,但我不知道如何将其写入查询中。
我对 MySQL 知之甚少(我是一名设计师),但我已经准备好用于回滚的数据库备份以防万一。
帮助将不胜感激。
解决方案
关键是您要使用允许您使用正则表达式(正则表达式)的插件或工具。我用过这个 PHP 工具,你只需把它放在你的 public_html 中,然后通过网络浏览器访问路径:https ://interconnectit.com/search-and-replace-for-wordpress-databases/
只需在 Php 工具中使用一点正则表达式,或者找到一个允许您使用正则表达式的查找和替换插件。它看起来像这样:
\[nivo.*?/nivo\]
\
表示转义字符,因为括号在正则表达式中具有特殊含义。
.
表示任何字符
*
表示任意数量的字符
?
表示 0 或更多
.*?
在一起意味着什么或什么
供参考(可能是更好的答案): PHP - Remove Shortcodes and Content in between with Regex Pattern
推荐阅读
- python - 尝试运行 StyleGAN2 生成命令时出现“ValueError: too many values to unpack (expected 3)”
- svg - SVG中是否需要g id
- spring-boot - 有或没有 sockjs 的 Spring Boot?
- android - Gradle 用于 S3 上的 android 和 pom 类型依赖项(maven)
- ajax - 从 Asp.net MVC 视图页面返回带有 Ajax 调用的视图的调用控制器方法
- python - Plotly:如何为所有子图设置 xticks?
- python - 从json加载时如何将字符串转换为列表
- flutter - Flutter BottomNavBar 不显示 BoxShadow
- javascript - 什么 var n = (t.currentDevicePixelRatio = e || ("undefined" != typeof window && window.devicePixelRatio) || 1); 意思是?
- google-apps-script - 表单响应电子表格.getSheets() 不返回响应表?