如何在var_dump或print_r中看到'\ r \ n'?

时间:2012-03-06 22:48:21

标签: php string var-dump

我试图调试另一个开发者在这个动态输入生成器工具中的问题所在。他使用'\ r \ n'来基本上将值存储为select中的选项。我试图弄清楚这是不是在做什么,因为当渲染选择时,字符串作为一个长字符串从数据库中出来。我通过nl2br运行它来验证。 所以我确定问题是当数据在编辑命令中保存到数据库时,因为它似乎正在创建。但除此之外,这有点......

我的问题是:有没有一种简单的方法让var_dump或print_r函数在输出中包含'\ r \ n'?

所有我真正想要做的就是在输出之前用其他东西替换这些字符,这是一种痛苦,所以如果这是一种更简单的方法会很棒。

2 个答案:

答案 0 :(得分:1)

使用preg_replace加倍反斜杠

<?php var_dump(preg_replace(array('/\n/','/\t/','/\s/'), array('\\\\n', '\\\\t', '\\\\s'), "\n\n"));

你可以编写一个函数,不需要一直重复这段代码,我也想把我的var_dump放在&lt; pre&gt;里面。标签

答案 1 :(得分:0)

如果要捕获字符串\r\n,请将其放在单引号中。

这:

echo "Here is line one \r\n Here is line two";

呈现:

Here is line one
Here is line two

鉴于此:

echo 'Here is line one \r\n still on line one';

呈现:

Here is line one \r\n still on line one