PHP:字符转义不能使用双引号,除非有<;预处理>;标签?
有人能告诉我哪里出了问题吗PHP:字符转义不能使用双引号,除非有<;预处理>;标签?,php,string,Php,String,有人能告诉我哪里出了问题吗 //outputs : Hi, my name is Jackal I like PHP <?php echo "Hi, my name is Jackal \nI like PHP"; ?> //输出:嗨,我叫Jackal,我喜欢PHP echo "Hi, my name is Jackal <br />I like PHP"; 如果我使用pre-tag //outputs: Hi, my name is Jackal //
//outputs : Hi, my name is Jackal I like PHP
<?php
echo "Hi, my name is Jackal \nI like PHP";
?>
//输出:嗨,我叫Jackal,我喜欢PHP
echo "Hi, my name is Jackal <br />I like PHP";
如果我使用pre-tag
//outputs: Hi, my name is Jackal
// I like PHP
<pre>
<?php
echo "Hi, my name is Jackal \nI like PHP";
?>
//输出:嗨,我叫Jackal
//我喜欢PHP
echo "Hi, my name is Jackal <br />I like PHP";
有人能解释为什么角色转义不起作用吗?
谢谢,因为在您的浏览器中,
\n
只显示一个空格,不会显示为换行符,除非您使用预先格式化的HTML标记
echo "<pre>Hi, my name is Jackal \nI like PHP</pre>";
e、 g.浏览器中将显示以下换行符:
<p>Hello,
World!</p>
<br>
echo“嗨,我叫Jackal
我喜欢PHP”;
echo "Hi, my name is Jackal <br />I like PHP";
或者这个也可以:
echo“嗨,我的名字叫Jackal\nI喜欢PHP”;
echo "Hi, my name is Jackal <br />I like PHP";
可以看出,
标记用于显示预格式化文本,因此\n
显示为换行符。因为在浏览器中\n
仅显示空白,除非使用预格式化HTML标记
,否则不会显示为换行符
echo "<pre>Hi, my name is Jackal \nI like PHP</pre>";
\n
e、 g.浏览器中将显示以下换行符:
<p>Hello,
World!</p>
<br>
echo“嗨,我叫Jackal
我喜欢PHP”;
echo "Hi, my name is Jackal <br />I like PHP";
或者这个也可以:
echo“嗨,我的名字叫Jackal\nI喜欢PHP”;
echo "Hi, my name is Jackal <br />I like PHP";
可以看出,
标记用于显示预格式化文本,因此\n
显示为换行符。字符转义正在工作。看看源代码,你会发现新的一行。为了使它在浏览器中可见,您需要一个html标记(
),或者包装
字符转义正在工作。看看源代码,你会发现新的一行。为了使其在浏览器中可见,您需要一个html标记(
)或包装
,如果您的html中有:
\n
echo nl2br("Hi, my name is Jackal \nI like PHP");
<p>Hello
there</p>
你好,
世界
它出现在一行还是两行上
通常,答案是:空白被压缩成一个空格
但是,
的默认CSS为空白:pre
,它不压缩空白
您应该
echo“
”
,或者将空白:pre
(或者更好的是,空白:pre-wrap
)应用于容器元素。如果HTML中有此项:
<p>Hello
there</p>
你好,
世界
它出现在一行还是两行上
通常,答案是:空白被压缩成一个空格
但是,
的默认CSS为空白:pre
,它不压缩空白
您应该
echo“
”
,或者将空白:pre
(或者更好的是,空白:pre wrap
)应用到容器元素。PHP正在解释该换行符。查看网页的源代码。您将看到源代码中有两行
但是,HTML处理换行符的方式不同。要在HTML中执行换行,请使用
标记。这将使HTML输出在网页上超过2行。但是,在源代码中,它仍将显示为一行(除非添加该换行符)
所做的是告诉HTML引擎输出准确的字符串,因为文本是预格式化的,包括解释该换行符。另外请注意,您应该在预格式化的块末尾添加一个结束标记。PHP解释该换行符。查看网页的源代码。您将看到源代码中有两行
但是,HTML处理换行符的方式不同。要在HTML中执行换行,请使用
标记。这将使HTML输出在网页上超过2行。但是,在源代码中,它仍将显示为一行(除非添加该换行符)
所做的是告诉HTML引擎输出准确的字符串,因为文本是预格式化的,包括解释该换行符。另外请注意,您应该在预格式化的块末尾添加一个结束标记
是代码中的换行符(在写入文件时工作,但不输出到屏幕)
或者,您也可以使用nl2br,如下所示
是代码中的换行符(在写入文件时工作,但不输出到屏幕)
或者,您也可以使用nl2br,如下所示
php中的
newline
字符实际上是echo
s新行本身
然而,php的echo
语句的输出仍然是web浏览器的源代码。因此,浏览器会压缩所有额外的换行符和空格。例如:
尽管有空白。要解决这个问题,请使用
/
标记告诉浏览器换行,而不是告诉php换行。php中的换行符实际上是一个新行
然而,php的echo
语句的输出仍然是web浏览器的源代码。因此,浏览器会压缩所有额外的换行符和空格。例如:
尽管有空白。要解决此问题,请使用
/
标记告诉浏览器换行,而不是告诉php换行。您好,它确实显示在两行中。非常感谢。嗨,是的,它确实出现在两行中。非常感谢。非常感谢。它有两行。太棒了,如果这篇文章回答了你的问题,请点击左边的复选标记,让这成为你接受的答案。谢谢!它有两行。太棒了,如果这篇文章回答了你的问题,请点击左边的复选标记,让这成为你接受的答案。为什么建议使用XHTML?较旧的浏览器不支持XHTML。如果您是为较新的浏览器设计的,HTML5有更多的功能。如果您是为广泛的浏览器设计的,HTML4.01