如何在PHP中从字符串中删除所有非字母数字和非空格字符?
我想从字符串中删除所有非字母数字和空格字符。所以我真的想留下一些空间。在[]括号内的以下函数中,我应该为空格添加什么内容:如何在PHP中从字符串中删除所有非字母数字和非空格字符?,php,Php,我想从字符串中删除所有非字母数字和空格字符。所以我真的想留下一些空间。在[]括号内的以下函数中,我应该为空格添加什么内容: ereg_replace("[^A-Za-z0-9]", "", $title); 换句话说,什么符号代表空格,我知道\n代表新行,单个空格是否有这样的符号。只需在字符类中放入一个普通空格: [^A-Za-z0-9 ] 对于其他空白字符(制表符、换行符等),请改用\s 您还应该知道,已弃用,将在PHP6中删除,以支持。因此,我建议您改用: 如果您只需要一个文本空间,请在
ereg_replace("[^A-Za-z0-9]", "", $title);
换句话说,什么符号代表空格,我知道\n代表新行,单个空格是否有这样的符号。只需在字符类中放入一个普通空格:
[^A-Za-z0-9 ]
对于其他空白字符(制表符、换行符等),请改用\s
您还应该知道,已弃用,将在PHP6中删除,以支持。因此,我建议您改用:
如果您只需要一个文本空间,请在其中添加一个。制表符和换行符等“空白字符”的组为\s接受的答案不会删除空格 考虑以下几点
$string = 'tD 13827$2099';
$string = preg_replace("/[^A-Za-z0-9 ]/", "", $string);
echo $string;
> tD 138272099
现在,如果我们用str_替换空格,就会得到所需的输出
$string = 'tD 13827$2099';
$string = preg_replace("/[^A-Za-z0-9 ]/", "", $string);
// remove the spaces
$string = str_replace(" ", "", $string);
echo $string;
> tD138272099
这是真的。我一定错过了什么,因为有一个公认的答案。我使用的是
preg\u replace('/[\s\W]+/'
,它就像一个符咒,去掉了非字母数字和空格。我知道这很旧,但作者不想删除空格。“如何在PHP中删除字符串中的所有非字母数字和非空格字符?”“我应该在[]括号内的下面函数中为空格添加什么内容?”最值得注意的是:“所以我确实希望保留空格”。正文的第一行中只缺少一个“non”。我的评论只是说发布一个适当示例的道具。上面的绿色复选答案在技术上是不正确的。它应该是:$title=preg_replace(“/[^a-Za-z0-9]/”,“,$title),而不仅仅是:preg_replace(/[^a-Za-z0-9]/“,”,$title)说明该方法不会替换该变量。
$string = 'tD 13827$2099';
$string = preg_replace("/[^A-Za-z0-9 ]/", "", $string);
// remove the spaces
$string = str_replace(" ", "", $string);
echo $string;
> tD138272099