我試圖將前一段時間我在bash中編寫的腳本導入到PHP中。一條特定的線是關於轉義所有非字母數字字符。PHP:轉義非字母數字字符
在bash,我能做到這一點作爲一個班輪如下:
echo "aaa bbb::" | sed 's/\([^a-zA-Z0-9]\)/\\\1/g'
# => aaa\ bbb\:\:
我在PHP中得到的最接近是這個:
echo preg_replace('/([^a-zA-Z0-9])/','\\\','aaa bbb::');
# => aaa\bbb\\
但是我掙扎在preg_replace
(我試過\ 1和$ 1)內重用我的正則表達式組。
有人可以幫助我得到這個PHP一行嗎?
可能一個愚蠢的問題,但爲什麼你需要逃避所有非字母字符? – jsalonen 2011-06-06 11:32:12
,因爲我正在爲'mod_rewrite'生成過濾器,但它並不真的喜歡它們。 – Max 2011-06-06 13:51:49