我有被用於利用preg_match
重新定義在PHP文件的常數和輸入文件是使用用htmlspecialchars 例如篩選正則表達式中的PHP代碼
define('MEMBERSHIP', 'GOLD');
一個正則表達式匹配,第一半結腸下面的正則表達式的工作
/define.*["e\']' . $constant . '["e;\'].*;/i
但它最後分號匹配,工作在大多數情況下,但未能像下面 如一個案例:
define("MEMBERSHIP", 'GOLD'); // membership subscription; empty means not in use.
通知最後一個分號,導致更換代碼
define("MEMBERSHIP", 'SILVER'); empty means not in use.
打破了代碼。下面嘗試正則表達式,但它並沒有爲那些與雙引號
/define.*["e;\']' . $constant . '["e;\'][^;]*;/i
任何想法如何解決這方面的工作?
」但它沒有工作「......當你嘗試第二種方法時究竟發生了什麼? –
對不起,改變了qt,它不適用於雙引號行 – Dru