我想從字符串中刪除所有非字母數字和空格字符。所以我想要空間留下。我怎麼把一個空間在下面的函數中的[]括號內:如何從PHP中的字符串中刪除所有非字母數字和非空格字符?
ereg_replace("[^A-Za-z0-9]", "", $title);
換句話說,什麼符號代表的空間,我知道\ n代表新的生產線,有沒有這樣的符號單空間。
我想從字符串中刪除所有非字母數字和空格字符。所以我想要空間留下。我怎麼把一個空間在下面的函數中的[]括號內:如何從PHP中的字符串中刪除所有非字母數字和非空格字符?
ereg_replace("[^A-Za-z0-9]", "", $title);
換句話說,什麼符號代表的空間,我知道\ n代表新的生產線,有沒有這樣的符號單空間。
只要把普通的空間變成你的性格類:
[^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)
如果你只想要一個文字空間,把一個在該組「空白字符」像標籤和換行符是\ S
接受的答案呢不要刪除空格。
考慮以下
$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
這是真的。因爲有一個被接受的答案,所以我一定會錯過一些東西我使用'preg_replace('/ [\ s \ W] + /'',它的作用就像一個魅力 - 去掉非字母數字和空格。 – Chords 2013-03-03 16:54:44
我知道這是舊的,但作者不想刪除。空間 「如何從一個字符串中刪除所有非字母數字和非空格字符在PHP?」 「那我把一個空間在下面的函數中的[]括號內:」 和最顯着:「所以我想要空間保持」 在文本的第一行只有一個缺失的「非」。 – travisnewman 2017-07-11 19:52:06
真的很好的答案。 – Franz 2010-03-23 19:07:37
我只是在評論道具發表正確的例子。上面的綠色選中的答案在技術上是不正確的。它應該是:$ title = preg_replace(「/ [^ A-Za-z0-9] /」,「」,$ title)而不是:preg_replace(「/ [^ A-Za-z0-9] /」 ,「」,$ title),說明該方法不會替代該變量。 – 2015-01-30 17:46:11