零宽空格字符<0x200b>_php零宽空格字符是什么_删除零宽空格

今天在维护一个系统时发现以下报错:

iconv(): Detected an illegal character in input string

经查发现是因为存在零宽空格字符,将字符串复制到sublime中发现下图中绿色框中的字符。

 如何删除零宽空格

在网上找了一个解决方法:将字符串先转换为json,再将零宽空格的unicode码值替换为空。

$inputStr = json_encode($input);
if(preg_match("#\\\u200b#us",$inputStr)){
    $inputStr   = preg_replace("#\\\u200b#us",'',$inputStr);
    $input      = json_decode($inputStr,true);
}

维基百科中称 0x200b 代表零宽空格,是一种不可打印的Unicode字符,用于可能需要换行处。

点击显示
· winform WPF中Window的ShowInTaskbar、Owner和Topmost属性
· c#怎么选择多个文件——代码实现
· windows窗体应用程序和wpf应用程序的区别-winform和wpf的区别
· guid是什么意思-guid的用法
· phpstorm php7特性报错解决方法(coalesce operator is available in PHP7 only)