2014-01-22 11 views
6

任何人都可以告訴我如何我可以替換字符串中的所有特殊字符,除了下劃線和句號。而且我一直在試圖理解如何使這個替換模式閱讀PHP手冊,以及它如此混亂像我這樣的初學者是否有任何其他文檔或教程,使初學者變得容易,以便我不必發佈另一個類似的問題,並且每次我想要使用此功能時都會遇到麻煩。如何替換除下劃線和句點在PHP中的所有特殊字符?

preg_replace('/[^a-zA-Z0-9]/', '', $string); 

這就是我把它替換所有的特殊字符,但我想除了_.

+1

[閱讀正則表達式在這裏!](http://www.regular-expressions.info/) – jurgemaister

回答

13

_.到否定的字符集([^...]):

$string = preg_replace('/[^a-zA-Z0-9_.]/', '', $string); 

你不應該忽略$string = ..因爲preg_replace回報替換字符串。它不會更改字符串。

+0

謝謝你的工作 – maniteja

+2

@maniteja,FYI,上面的模式可以用'/ [^ \ w替換。 ] /'因爲'\ w'匹配任何單詞字符(包括字母,數字,'_')。 – falsetru

+0

你會如何允許這裏的'/'字符? –

1

你可以使用一些PHP的過濾器插件像淨化器(設置白名單輸入)...

但儘管如此,我們想建議你學習正則表達式!

相關問題