我正在构建Opencart 2.3.x的扩展,我需要用_DIR_IMAGE
替换DIR_IMAGE
的所有发生,所以我想出了这个正则表达式,它只与PHP一起工作,但不能一个VQMod MOD内:使用正则表达式替换VQMod中的所有字符串
<operation error="log">
<search position="replace"><![CDATA[/(.*?)(DIR_IMAGE)(.*?)/g]]></search>
<add><![CDATA[$1_DIR_IMAGE$3]]></add>
</operation>
此PHP,不仅工作:
preg_replace('/(.*?)(DIR_IMAGE)(.*?)/g', '$1_DIR_IMAGE$3', $string);
任何人都可以点我在正确的方向?在这一点上,我假设替代上述表达的赞赏。
PHP的正则表达式不支持'g'修饰符。 'preg_replace'默认会替换所有不重叠的事件。 Besdies,你需要使用'regex =“true”'才能使用正则表达式。 '' –
@ AD7six因为我使用的是VQMod,它是第三方代码段来覆盖原始文件。这是唯一的方法。 – yoda
@WiktorStribiżew我试着用〜exp〜无济于事,还/ exp/ – yoda