我需要在WordPress wp_posts数据库表中找到匹配的条目,然后通过MySQL查询替换它们。对于出现在一行上的任何内容,我都可以做到这一点。但是多行内容让我感到困惑。
我要匹配这个:
[column]
[pdf_downloads]
[/column]
当我查看数据库的导出时,我要匹配的内容如下所示:
[column]\r\n[pdf_downloads]\r\n[/column]
我注意到在BBEdit中要找到匹配项,我必须转义斜线并搜索:
[column]\\r\\n[pdf_downloads]\\r\\n[/column]
当我在PHP中运行查询时,我尝试了以下每种方法,但似乎都不匹配:
$find = '[column]
[pdf_downloads]
[/column]';
$find = '[column]\r\n[pdf_downloads]\r\n[/column]';
$find = '[column]\\r\\n[pdf_downloads]\\r\\n[/column]';
正如我所说,该查询对于一行中的任何内容都可以正常工作,因此我认为这是可以的。我还应该提到这是我选择的旧网站。我不会像这样构建它,但是在数百个需要编辑的帖子中有大量嵌套的短代码。我想用PHP而不是导出来实现,所以我可以将其包装为插件。