2010-03-23 112 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

相关问题