0
有人可以告訴我是否存在使用一個模式進行多次替換的可能性嗎?我有一個模式和替換數組,我試圖從數組中依次替換匹配。 like match => array [0] match => array [1] 等等。由於preg_replace php中的用法
有人可以告訴我是否存在使用一個模式進行多次替換的可能性嗎?我有一個模式和替換數組,我試圖從數組中依次替換匹配。 like match => array [0] match => array [1] 等等。由於preg_replace php中的用法
我會去與回調preg_replace
:
preg_replace_callback('/pattern/', function() {
static $replacements = array('foo', 'bar', 'baz');
return array_shift($replacements);
}, $subject);
每個後續比賽將得到更換陣列的下一個條目。
謝謝,似乎這是我需要的。 – 2012-03-13 13:37:42
多一個時刻,如何不在回調函數中創建靜態數組,但通過參數傳遞呢?當我通過我的數組像'preg_replace_callback($ pattern,function($ arr){....},$ subject);'我得到了和以前相同的值。 – 2012-03-13 14:57:12
你可以使用閉包方面來做到這一點:'...,function()使用($ arr){...},...'。 – deceze 2012-03-13 23:17:45