2011-06-22 181 views
32

我正在尋找替換除字母,數字,空格和下劃線之外的字符串中的所有字符。替換除字母,數字,空格和下劃線之外的所有字符

有人請提供一個例子嗎?

+0

你發現哪些不起作用的例子?他們怎麼不工作? – BoltClock

+0

用什麼替換它們? –

+1

我還會補充說,對於各種各樣的字符串操作問題,如果您提供了一個具體的示例或兩個您將要進入操作的操作以及您希望從操作中出現的操作,那麼可以幫助您獲得正確的答案。 – EBGreen

回答

65

我通常使用類似:

$string = preg_replace("/[^ \w]+/", "", $string); 

替換所有的非空間和非單詞字符一無所有。

+11

你應該在PHP中使用正則表達式中的單引號'preg_replace('/ [^ \ w] + /','',$ string)'\'雙引號可以導致意外的行爲 – DarkMukke

6
<?php 
$string = 'April 15, 2003'; 
$pattern = '/[^\w ]+/'; 
$replacement = ''; 
echo preg_replace($pattern, $replacement, $string); 
?> 
21
[^0-9a-zA-Z_\s] 

是要替換的東西。

+16

這一個幫助我在類似問題。謝謝! (對於讀這個的人來說,不要忘記用這樣的斜槓來包裝它:'$ new_string = preg_replace('/ [^ 0-9a-zA-Z _] /',「」,$ old_string)'我拿出\因爲我不需要允許空格 – TecBrat

+1

'\ s'並不意味着空間總是...... –

相關問題