PHP mb_ereg_replace 不替换 UTF-8 字符

我试图通过只允许下面的模式来删除特殊字符。


'/[^A-Za-z0-9AàÉíóÚÇÃÕÂêõàáéíóúçãõãêô\~!@#\$\%\^\&*()-_\=+\|{}[]\;:\'\"\<>\, ./\?\SN]/'


但是当我运行我的脚本时,它会返回所有不允许的字符 © ® ñ ö


mb_regex_encoding('UTF-8');

$string = 'teste © ® ñ ö ';

echo mb_ereg_replace('/[^A-Za-z0-9ÀÁÉÍÓÚÇÃÕÂÊÔàáéíóúçãõâêô\~\!\@\#\$\%\^\&\*\(\)\-\_\=\+\|\{\}\[\]\;\:\'\"\<\>\,\.\/\?\s\n]/', '', $string);

返回:

测试 © ® 是 ñ ö


拉风的咖菲猫
浏览 90回答 1
1回答

慕森王

<?phpmb_regex_encoding('utf-8');$pattern = "[^A-Za-z0-9ÀÁÉÍÓÚÇÃÕÂÊÔàáéíóúçãõâêô~!@#$%^&*()-_=+|{}\[\];:'\"<>,.\/\?\s\n]+";$in = "teste © ® ñ ö";echo mb_ereg_replace($pattern,"", $in);在ereg 和 preg 中设置模式的方式有所不同
打开App,查看更多内容
随时随地看视频慕课网APP