PHP函数的问题爆破换行

问题描述

您好,所以我正在编写一个PHP代码,该代码使我可以将SQL查询的结果存储在PHP数组中,然后使用函数implode将Iam将该数组转换为字符串,而我试图将表的每一行都放入在新行中,但是当我回显字符串时,我将所有结果都放在同一行中。

$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

未得到处理,因为它们应为(默认情况下是网络浏览器)。而是浏览器将它们视为“空格”

如果要使用它们,则可以

  • <pre>标签包装变量/输出,这将明确告诉浏览器也进行非HTML格式设置(例如在本例中为行终止符)。
  • 使用nl2br()函数,该函数会将行终止符转换为<br/>

理想情况下,您希望用换行符<br/>替换换行符。