我正在構建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