正则表达式 - preg_replace字符串

kem*_*cer 2 php regex preg-replace

我想将字符串的非字母数字字符替换为空格.

我用了 $title= preg_replace("/[^a-zA-Z0-9\s]/", " ", $title);

所以当用户输入时

ABC!?d $

这将是

A B C D

但是由于用户将其输入到文本输入,它会转到"x.php?title = abc!?d $".我想要它去"x.php?title = abc + d",因为我想要"abc d","abc $$$$$$$$$ d","abc __.!d"等去同一个网址.我怎么能管理这个.谢谢.

Spu*_*ley 6

基本上,你所说的是,如果彼此相邻的可替换字符不止一个,那么你只想在那里放一个空格字符.是对的吗?

在这种情况下,是的,这很容易:你只需要在正则表达式中的字符类之后添加一个加号,如下所示:

$title = preg_replace("/[^a-zA-Z0-9\s]+/", " ", $title);
Run Code Online (Sandbox Code Playgroud)

加号告诉正则表达式查找前一项的一个或多个匹配项.

希望有所帮助.