我想从字符串中删除所有非字母数字和空格字符。所以我确实希望留下空间。我在[]括号中为下面的函数添加了什么空间:
ereg_replace("[^A-Za-z0-9]", "", $title);
换句话说,什么符号代表空间,我知道\ n代表一个新行,是否有任何这样的符号用于单个空格。
答案 0 :(得分: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)
答案 1 :(得分:2)
如果你只想要一个文字空间,就把一个放入。像'空白字符'那样的组,如tab和换行符是\ s
答案 2 :(得分: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