0
我有以下代碼:PHP 5.3上工作preg_replace_callback但不能在5.2.17
return preg_replace_callback("#\{gallery: '(.+?)'(?: dir: ([0-1]))?\}#i", create_function('$i', '$dir = isset($i[2]) ? 1 : 0; $oGallery = new Gallery($i[1]) ; $oGallery->PublicSide($dir);'), $string);
的問題是,這個工程在我的本地(PHP5.3),但是當我把它上傳到我的服務器( 5.2.17)它沒有..任何想法爲什麼?似乎與單引號有關"#\{gallery: '(.+?)'(?: dir: ([0-1]))?\}#i"
定義 「它不工作」?函數調用返回什麼? – 2012-07-17 04:07:33
它只是返回完整的原始字符串,因爲如果它沒有找到在這種情況下任何比賽:{畫廊:「圖像/」}或{畫廊:「圖像/」目錄:1} – 2012-07-17 04:08:34
你有沒有通過PHP文檔閱讀這個功能?它的行爲可能會不同於PHP 5.3和5.2.x http://php.net/manual/en/function.preg-replace-callback.php – Jessedc 2012-07-17 04:23:48