当前位置:首页 > 技术 > PHP > php相关文章

零宽空格字符<0x200b>

2023-09-22 来源:无名网 作者:无名网整理

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

iconv(): Detected an illegal character in input string

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

微信截图_20230922111354.jpg

在网上找了一个解决方法:将字符串先转换为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字符,用于可能需要换行处。

相关内容: 字符串
『 猜你喜欢 』
  • String 字符串

    一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节。这意味着 PHP 只能支持 256 的字符集 ,因此不支持 Unicode 。详见字符串类