有人可以解釋'e'標誌的作用,或者將我鏈接到某個地方嗎?我無法通過谷歌找到任何東西。正則表達式標誌
實施例:
preg_replace("/a(b?)c/e", "search_foo_term('\$1')", $str);
有人可以解釋'e'標誌的作用,或者將我鏈接到某個地方嗎?我無法通過谷歌找到任何東西。正則表達式標誌
實施例:
preg_replace("/a(b?)c/e", "search_foo_term('\$1')", $str);
E(PREG_REPLACE_EVAL)
如果該改性劑 被設置,preg_replace函數()不正常 替代反向引用在 替換字符串,評估其作爲 PHP代碼,並使用 替換搜索字符串的結果。單 報價,雙引號,反斜槓() 和NULL字符將被 反斜槓代替 反向引用。只有preg_replace() 使用此修飾符;它被其他PCRE功能 忽略。
http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php
因此,考慮這個例子:
preg_replace("/a(b?)c/e", "search_foo_term('\$1')", $str);
整個比賽將是什麼search_foo_term更換()時,通過比賽對於B返回? 。
e標誌已被棄用,主要是出於安全原因。改爲使用preg_replace_callback
。
真棒,謝謝。 – Cam 2010-03-18 08:59:28
此答案已添加到[Stack Overflow Regular Expression FAQ](http://stackoverflow.com/a/22944075/2736496),在「修改器」下。 – aliteralmind 2014-04-10 00:35:25