我想将字符串的非字母数字字符替换为空格。
我用过
$title= preg_replace("/[^a-zA-Z0-9\s]/", "", $title);
所以当用户输入
abc!?d$
会是
abc d
但是因为用户将它输入到文本输入中,所以它转到“x.php?title=abc!?d$”。 我希望它转到“x.php?title=abc+d” 因为我想要“abc d”、“abc$$$$$$$$$d”、“abc__.!d”等转到相同的网址。 我该如何管理这个。谢谢。
最佳答案
基本上,您的意思是,如果彼此相邻的可替换字符不止一个,那么您只想在其中放置一个空格字符。是吗?
在那种情况下,是的,很简单:您只需在正则表达式中的字符类后面添加一个加号,如下所示:
$title = preg_replace("/[^a-zA-Z0-9\s]+/", " ", $title);
加号告诉正则表达式查找前一项的一个或多个匹配项。
希望对您有所帮助。
关于php - 正则表达式 - preg_replace 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6411119/