php preg_replace:替换每次出现的元素(不要组)

时间:2017-06-17 02:22:42

标签: php regex preg-replace

我使用此代码:

preg_replace('/[^A-ÿ\d _]+/', 'NO' , $mystring]

使用***

查找并替换非字母数字,空格或下划线的所有内容

唯一的问题是,如果我的输入是:

tes<<t 

输出:

tesNOt

我希望:

tesNONOt

我希望它能够取代每一次“错误”的错误。字符。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您的模式与“一个或多个”匹配。

你想要匹配每一个。

$mystring='tes<<t';
echo preg_replace('/[^A-ÿ\d _]/', 'NO' , $mystring);
// output: tesNONOt

Demo Link