如何通过$ wpdb查找/替换WordPress帖子中的多行内容?

时间:2018-07-11 10:11:50

标签: php mysql wordpress shortcode

我需要在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而不是导出来实现,所以我可以将其包装为插件。

0 个答案:

没有答案