PHP:替换utf-8字符串中的无效字符

Aex*_*ker 8 php regex utf-8

如何在空白字符的utf-8字符串中替换(在PHP5中使用正则表达式)无效字符?

Rag*_*geZ 22

使用iconv

$text = iconv("UTF-8", "UTF-8//IGNORE", $text);
Run Code Online (Sandbox Code Playgroud)

手册.

干杯

  • 这不适合我.无效字符停留.就像它不适用于bobef.它只是没有做到这一点. (7认同)

Fro*_*y Z 6

使用mbstring,您可以:

$text = mb_convert_encoding($text, 'UTF-8', 'UTF-8');
Run Code Online (Sandbox Code Playgroud)

将按您的意愿工作(用空格替换无效字符),但如果你想用其他东西替换无效字符,似乎不起作用?.

请参阅:用问号替换无效的UTF-8字符,mbstring.substitute_character似乎被忽略