php - php函数内爆换行的问题
问题描述
你好,所以我正在编写一个 php 代码,它允许我将 sql 查询的结果存储在一个 php 数组中,然后我使用函数 implode 将数组转换为一个字符串,我试图将表的每一行放在一个新的行,但是当我回显字符串时,我的所有结果都在同一行中。
$data=array();
$req=$bdd->prepare("SELECT * FROM tableciqual WHERE (CONVERT(`alim_nom` USING utf8)) LIKE ?");
$req->execute(array("%$nom%"));
while($resultat=$req->fetch()){
$data[] =$resultat['alim_nom'];
}
$d=implode("\r\n",$data);
echo $d;
解决方案
您应该<br/>
在函数内使用标记implode
,而不是在网络浏览器的情况下使用行终止符。默认情况下,HTML/XML 等标记语言不处理行终止符。例如,
- 换行
'\n'
- 回车
'\r'
- 下一行
'\u0085'
- 行分隔符
'\u2028'
- 段落分隔符
'\u2029
未按应有的方式处理(默认情况下在 Web 浏览器中)。相反,浏览器将它们视为“空白”。
如果你想使用它们,那么你可以
- 用
<pre>
标签包装变量/输出,这将明确告诉浏览器也进行非 HTML 格式设置(如本例中的行终止符)。 - 使用该
nl2br()
函数,它将行终止符转换为<br/>
理想情况下,您希望用换行<br/>
标记替换行终止符。