我有两个 utf-8 字符串:
当我比较这两个相同的空格分隔字符串时,结果为 false,这意味着它们不同。
20为bin2hex ascii 编码的空格符号)mb_strtolower($string, 'utf-8')呈现为c2a0(bin2hexutf-8 空格)我的问题是:
正如评论中所说,c2a0这是一个不间断的空间,并且20是正常的空间
由于您可以在 bin2hex 中看到问题,因此您可以:
$str = hex2bin(str_replace('c2a0', '20', bin2hex($str)));
Run Code Online (Sandbox Code Playgroud)
或者换句话说:
$str = preg_replace('~\xc2\xa0~', ' ', $str); // typo corrected
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2624 次 |
| 最近记录: |