我寫了一個函數來替換博客中的某些模式。例如,當有人輸入::)
此功能用笑臉表情符號代替。如何在preg_replace()中調用函數?
但是現在我正在嘗試做一些特別的事情,但不知道如何完成它。我想匹配解析到另一個功能,像這樣:
$pattern[] = "/\[ourl\](.*?)\[\/ourl\]/i";
$replace[] = "" . getOpenGraph("$1") . "";
$value = preg_replace($pattern, $replace, $value);
如果有人使用[ourl] www.cnn.com [/ ourl]這個功能將檢索OpenGraph信息,並返回一個特定的HTML代碼。
但是這不起作用,因爲它不會解析函數$1
。
我該如何解決這個問題?
UPDATE:
根據提示u_mulder給我,我能夠把它關閉
'preg_replace_callback' –
甚至['preg_replace_callback_array'](http://php.net/manual/en/function.preg-replace-callback-array.php ) –
@WiktorStribiżew哇,但它只是php7。 –