2013-10-29 83 views
1

我正在尋找一種方式來的preg_replace()的每個字符,除了 「 - 」的preg_replace EXCEPT專用汽車

preg_replace ('#[^.0-9a-z]+#i', '', $string); 

我顯然要替換除A-Z0-9「全部字符不好 - 「

結果完成:

$字符串= preg_replace函數 - ;(, '',$字符串 '#/ [^]/+#I [^ 0-9A-Z。]')

回答

1
preg_replace('/[^-]/', '', $string); 

將取代一切,但-

[]表示該組項目,^是不是操作員。所以,當你把[^-]你說「給我的一切,是不是在這一套,在這種情況下是-

+0

將是不錯的解釋爲什麼,也不要相信你需要'\\'在那裏 – Madbreaks

+2

你忘了你的分隔符,沒有它們就不會工作 – webbiedave

+0

對不起,我沒有做出很好的解釋... 我想代替字符除了0-9a-Z和 - 的目的是爲網站地圖清除網址 – Titus

0

只需添加破折號字符類:

preg_replace ('#[^.0-9a-z-]+#i', '', $string); 
//    here ___^