为什么php进程无法识别此语句字符串中的\ n转义字符:
在测试2p中回显“测试\”
为什么?
答案 0 :(得分:5)
我会在这里走出去,猜猜你写了这样一个页面:
<?php
echo " testing \n testing2";
?>
HTML输出如下:
testing testing2
这是因为HTML会缩小空白区域。您需要使用一些HTML元素来使输出看起来像您认为的那样:
echo " testing <br /> testing2";
答案 1 :(得分:3)
在HTML上下文中使用时,除了HTML源代码外,\n
换行符将不可见,因为HTML使用<br />
表示换行符。要转换它们,请使用nl2br()
。
您还需要小心如何引用字符串。像\n
这样的转义序列仅在双引号"strings"
中解析。在单引号'strings'
中,它们不会被解析。
答案 2 :(得分:3)
行结束字符在HTML中没有任何意义,它应该是PHP输出。
HTML中的下一行是<br/>
标记,因此您应该输出:
echo "<br/>";
您也可以通过\n
函数将字符串中<br/>
的所有匹配项更改为nl2br
,如我朋友所述。
答案 3 :(得分:2)
确实如此,请查看源代码。如果要在浏览器中查看,请使用
echo nl2br(" testing \n testing2");
浏览器忽略忽略多余的空格(包括换行符)并将其转换为空格。您需要HTML标记(例如<br />
)来手动断行。
答案 4 :(得分:1)
如果您在浏览器中转到“查看来源”,那么您会看到它已插入换行符。但是,在HTML中,换行符被解释为空格并且不会开始换行。正如@Czechnology所说,您希望使用nl2br
将换行替换为HTML换行符(<br>
)。
当你提出问题时,请记得接受最佳答案。
答案 5 :(得分:1)
因为您的导航器认为您想要显示html 而你想显示纯文本。只需添加一个 标题说明您要显示的内容类型:
header('Content-Type: text/plain');
echo " testing \n testing2";
答案 6 :(得分:-1)
$teststring = ;
echo nl2br($teststring);
并在$teststring