我想替換字符串的非字母數字字符送入太空。正則表達式 - 的preg_replace串
我用 $title= preg_replace("/[^a-zA-Z0-9\s]/", " ", $title);
所以當用戶輸入
ABC!?d $
這將是
ABC d
但怎麼一回事,因爲它的用戶輸入到一個文本輸入它去「x.php?標題= ABC!?d $」。 我希望它去 「x.php?標題= ABC + d」 因爲我想 「ABC d」, 「ABC $$$$$$$$$ d」, 「ABC __!D」 等來去相同的網址。 我如何管理這個。謝謝。
在Javascript中,你需要你的正則表達式後'g'修改。 PHP似乎並不需要'preg_replace()';給出的答案取代所有的事件。如果你只是在做匹配,PHP有兩個功能:'的preg_match()'和'preg_match_all()'。 – Spudley
謝謝@Spudley。如果我沒有刪除我的評論,那麼這個迴應會很有意義!出於興趣,下面的答案中的方法是否也適用於PHP。 (即使用'\ W'而不是'/ [^ a-zA-Z0-9 \ s] + /')。我試圖學習正則表達式,其中一部分就是理解方言之間的差異。 –
@James:'\ W'是接近的,但對於這個特定的情況是不正確的,因爲它包含OP不想要的下劃線。 – Spudley