2012-02-28 74 views
0

我需要一個預浸替換功能來代替一切,是不是:PHP正則表達式替換的一切,是不是有很多人物的

a-zA-Z0-9 .,:;!?()~=+-_\/@$#&%'" 

我在正則表達式可怕,所以我不知道如何逃避需要的東西和什麼。儘管預先感謝!

哦,順便說一下,我在尋找什麼也沒有更換,只是要清楚的是

+1

這是空格還是拼寫錯誤? – Alexander 2012-02-28 04:07:49

+3

*「我在正則表達式上很糟糕」*並不是不努力學習的好藉口。不要依賴其他人爲你做你的工作!嘗試自己做,併發布你嘗試過的代碼和解釋,如果你不能得到它的工作。 – rdlowrey 2012-02-28 04:08:05

+0

你爲什麼要用正則表達式去除這個簡單的字符?特別是你對他們很糟糕? – aib 2012-02-28 04:26:22

回答

1

一個很好的地方開始玩的正則表達式是http://gskinner.com/RegExr/我發現,大部分的時間,如果我只是在這裏玩一下,我可以找到我正在尋找的東西。舉例來說,你可能會嘗試類似的東西。

[^a-zA-Z0-9 .,:;!?()~=+_\\/@$#&%\'"-] 

在RegExr把這表明沒有被選中,但是如果你把一個「*」在某處體內,它會選擇該字母。這是一個偉大的正則表達式沙盒。您也可以查看網站http://www.regular-expressions.info/,它有一些很棒的信息。

在問你會使用類似這樣的問題:

preg_replace('/[^a-zA-Z0-9 .,:;!?()~=+_\\/@$#&%\'"-]/', "", $string); 

希望這有助於!

+0

不知道爲什麼這得到downvoted? – bretterer 2012-02-28 04:37:02

+0

錯誤/中斷正則表達式 – ghoti 2012-02-28 04:48:23

+0

實際上它確實有效。你試過了嗎?如果你運行以下,你會得到預期的結果: $ string ='hello * world *!'; print preg_replace('/ [^ a-zA-Z0-9。,:;!?()〜= + _ \\/@ $#&%\'「 - ] /',」「,$ string) ; 它將返回 你好世界!] - test – bretterer 2012-02-28 04:53:24

1

不要忘記逃避的事情。

preg_replace('/[^a-zA-Z0-9 .,:;!?()~=+_\\/@$#&%\'"-]/', "", $string);