试图弄清楚PHP
换行符和特殊字符在做什么。我有一个字符串,当我这样做时var_dump($string)
输出是:
string 'ls -al
free -m' (length=16)
如何查看埋在这里的特殊字符?例如,需要查看它们是\n
或

它们是什么。
谢谢。
试图弄清楚PHP
换行符和特殊字符在做什么。我有一个字符串,当我这样做时var_dump($string)
输出是:
string 'ls -al
free -m' (length=16)
如何查看埋在这里的特殊字符?例如,需要查看它们是\n
或

它们是什么。
谢谢。
查看不可打印字符的最佳方法是打印bin2hex($string)
。这为您提供了字符串的实际二进制转储。将此与您最喜欢的ASCII 表或其他特定于您的字符串编码的表进行比较。
如果您使用 PHP Cli 在 unix 环境中运行命令,您可以尝试使用cat。
php file.php | cat -e
否则,您可以将 var_dump 处理为字符串并手动显示特殊字符:
$string = "test
test";
$dump = var_export($string, true);
for ($i = 0; ($i < strlen($dump)); $i++) {
if ((ord($dump[$i]) < 32) || (ord($dump[$i]) > 127)) {
echo '(' . ord($dump[$i]) . ')';
} else {
echo $dump[$i];
}
}
// will output 'test(13)(10)test' on Windows, 'test(10)test' on Unix systems.
你可以使用:
preg_match("/(&#[0-9]+;)|[\t\r\n]/", $string, $matches);
print_r($matches);