最近遇到了一个非常奇怪的问题,我的数据库包含看似正常的空白字符的字符串,但实际上是其他东西.
例如,将trim()应用于字符串:
"TEST "
让我:
"TEST "
结果是.所以我复制并粘贴字符串中的最后一个字符,然后:
echo ord(' '); 194
194?根据ASCII表应该是┬.所以我在这一点上感到困惑.为什么这个字符看起来是空格?当trim()失败时,如何修剪()这样的字符?
您可以尝试:
PHP修剪
$foo = "TEST "; $foo = trim($foo);
PHP str_replace
$foo = "TEST "; $foo = str_replace(chr(194),'',$foo);
IMPORTANT: You can try with
chr(194).chr(160)
or'\u00A0'
PHP preg_replace
$foo = "TEST "; $foo = preg_replace('#(^\s+|\s+$)#',$foo);
或(我不确定它是否会运作良好)
$foo = "TEST "; $foo = preg_replace('#[\xC2\xA0]#',$foo);