我試圖逃避正則表達式保留字符與反斜槓(不要問 - 只要它說我不想解析HTML :))我得到一些奇怪的東西。PHP:轉義RegEx保留字符 - 任何人知道這有什麼問題?
$regex_chars = array('[' , '\\' , '^', '$' , '.' , '|' ,
'?' , '*' , '+' , '(' , ')');
$regex_chars_escaped = array('\[ ' , '\\\\ ' , '\^ ', '\& ' ,
'\. ' , '\| ' , '\? ' , '\* ' , '\+ ' , '\(' , '\)');
$escaped_string = str_replace($regex_chars,$regex_chars_escaped,
implode("",$regex_chars));
echo implode(' ',$regex_chars) . "<br />";
echo $escaped_string;
空格是爲了清楚起見。這是輸出
[ \^$ . | ? * + ()
\\ [ \\ \^ \& \. \| \? \* \+ \(\)
所以一切都很好,除了第一部分。 「\\」從哪裏來,爲什麼不是「\\」?
可能是因爲我是一個該死的白癡。謝謝! – Greg 2009-11-24 11:15:51
不客氣格雷格。 – 2009-11-24 11:59:24
+1對你的評論不是因爲你是一個該死的白癡,而是因爲你是一個該死的幽默白癡。 – Ben 2013-04-19 07:43:50