我想从字符串中删除所有非字母数字和空格字符。所以我想要空间留下。我怎么把一个空间在下面的函数中的[]括号内:如何从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