2010-03-23 200 views

回答

25

只要把普通的空間變成你的性格類:

[^A-Za-z0-9 ] 

對於其他空白字符(製表,換行等)的使用,而不是\s

您還應該注意,PHP’s POSIX ERE regular expression functions已被棄用,並且將在PHP 6中被刪除,以支持PCRE regular expression functions。所以,我建議你使用preg_replace代替:

preg_replace("/[^A-Za-z0-9 ]/", "", $title) 
+0

真的很好的答案。 – Franz 2010-03-23 19:07:37

+0

我只是在評論道具發表正確的例子。上面的綠色選中的答案在技術上是不正確的。它應該是:$ title = preg_replace(「/ [^ A-Za-z0-9] /」,「」,$ title)而不是:preg_replace(「/ [^ A-Za-z0-9] /」 ,「」,$ title),說明該方法不會替代該變量。 – 2015-01-30 17:46:11

2

如果你只想要一個文字空間,把一個在該組「空白字符」像標籤和換行符是\ S

1

接受的答案呢不要刪除空格。

考慮以下

$string = 'tD 13827$2099'; 
$string = preg_replace("/[^A-Za-z0-9 ]/", "", $string); 

echo $string; 

> tD 138272099 

現在,如果我們str_replace函數空間,我們得到所需的輸出

$string = 'tD 13827$2099'; 
$string = preg_replace("/[^A-Za-z0-9 ]/", "", $string); 

// remove the spaces 
$string = str_replace(" ", "", $string); 

echo $string; 

> tD138272099 
+4

這是真的。因爲有一個被接受的答案,所以我一定會錯過一些東西我使用'preg_replace('/ [\ s \ W] + /'',它的作用就像一個魅力 - 去掉非字母數字和空格。 – Chords 2013-03-03 16:54:44

+0

我知道這是舊的,但作者不想刪除。空間 「如何從一個字符串中刪除所有非字母數字和非空格字符在PHP?」 「那我把一個空間在下面的函數中的[]括號內:」 和最顯着:「所以我想要空間保持」 在文本的第一行只有一個缺失的「非」。 – travisnewman 2017-07-11 19:52:06

相關問題