1
我遷移應用與PHP 5.5工作preg_replace_callback,我需要從preg_replace函數功能去除/ E字符,要做到這一點我使用preg_replace_callback()preg_replace函數與數組作爲替換
我的實際功能是這樣的:
preg_replace ('#\{([a-z0-9\-_]*?)\}#Ssie' , '((isset($array[\'\1\'])) ? $array[\'\1\'] : \'\');' , $template);
其中:
$模板包含一個html文件,像這樣的標籤E:{} USER_NAME
和$陣列包含
$array['user_name'] = 'The user';
我一直在試圖將它轉換爲與PHP 5.5工作,沒有成功。
這是我做過什麼,到目前爲止:
return preg_replace_callback ('#\{([a-z0-9\-_]*?)\}#Ssi' , function ($array) {
return ((isset ($array[1])) ? $array[1] : '');
} , $template);
,但它不工作。 大括號關閉的標籤不會被替換。
我失蹤了什麼?
非常感謝!完美的作品!我曾嘗試使用,但我想念這個:$ array [$ matches [1]] – Lucas