如何使用WP_CLI搜索-替换工具替换所有正则表达式匹配

时间:2016-01-04 作者:Ben Cole

具有WP CLI 我可以使用search-replace 方法如下:

wp search-replace \'foo\' \'bar\'

但是,当我使用regex时,它只替换每个DB字段中的第一个出现:

wp search-replace \'myRegex\' \'bar\' --regex

在上面的示例中,只有第一个正则表达式与myRegex 在任何给定的DB字段中替换。我可以反复运行搜索,直到所有匹配项都被替换,但我希望能够在一个命令中完成。/g全局标志不可用,因为我尝试时:

wp search-replace \'myRegex/g\' \'bar\' --regex

我收到一系列警告,我无法将其用于php preg\\u replace:

PHP警告:preg\\u replace():未知修饰符“g”

1 个回复
SO网友:Daniel Bachhuber

在引擎盖下,WP-CLI使用preg_replace() 执行regex搜索替换操作。默认情况下,preg_replace() 是一个全局操作。如果WP-CLI只是替换第一个实例,那么可能还有其他问题。

如果您发现了一个bug,并且可以提供一个测试用例来复制它,请open an issue 我们可以把它修好。

相关推荐

WP-CLI插件安装导致PHP致命错误-在不在对象上下文中时使用$This

运行时sudo wp install plugin pluginname --allowroot它会导致错误:PHP致命错误:未捕获错误:在/var/www/html/wp-content/plugins/pluginname/blocks中不在对象上下文中时使用$this。菲律宾比索:89我们有一个自定义插件,其中包含以下内容: class Block{ public static function Run() { add_action(\'e