2017-06-17 23 views
1

我用这个代码:PHP的preg_replace:更换滤芯的每次出现(不分组)

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

查找和替换的一切,是不是字母数字或空格或下划线,上***

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

tes<<t 

它输出:

tesNOt 

,我想:

tesNONOt 

我想它取代了“错误”的字符的每一次出现。

感谢您的帮助!

回答

1

您的图案匹配“一个或多个”。

你想匹配每一个。

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

Demo Link

+0

谢谢!很好,很顺利! – codeispoetry

相关问题