转义序列在php中不起作用


escape sequences are not working in php

如果我没有错误的'n表示,则意味着换行为<br>。但当我使用<br>或其他标记时,它们正常工作,但转义序列。

示例

echo "write somethings<br>";
echo "about coding";

上面的例子运行良好,但当我尝试使用转义序列时,没有一个不起作用

echo "write something'n";
echo "about coding";

这只是换行符的一个例子,而其他转义符不起'n的作用。这种情况的真正逻辑是什么?

'n和其他类似的转义序列不属于HTML。您应该使用HTML转义序列。这些可以在这里找到:http://www.theukwebdesigncompany.com/articles/entity-escape-characters.php

因此,只有<br>标签有效,但'n不是

不,这是HTML规则的一个例子。

'n放入PHP字符串中,然后将其输出为HTML,将在HTML源代码中放入一个换行符。在编写原始HTML时,这只是换行返回。

HTML对换行符没有特殊意义(至少在脚本元素和CSS空白属性的各种非默认值元素之外),并将其视为任何其他空白字符。

另一方面,<br>是一个换行元素(但通常表示应该在内容周围使用块级元素)。

HTML忽略回车符和换行符,将它们视为空白字符。如果你想使用"'n"格式的字符串显示,你可以使用nl2br来转换它,例如

echo nl2br("this is on'ntwo lines");

如果你在浏览器中看到这个,它就不起作用了:浏览器只知道显示的HTML(<br>),但不知道像'n'r 那样的转义