【问题标题】:Preserve line break in string inside array在数组内的字符串中保留换行符
【发布时间】:2021-08-28 17:40:53
【问题描述】:
我正在尝试输出通过 API 返回给我的字符串
但是当我用这个打印它时
<?php echo $m["page_features"]; ?>
打印如下(单行)
双层屋前卧室厨房岛阁楼户外厨房 4 滑出
但我想要这样
我怎样才能达到所需的输出结果,
请帮忙
【问题讨论】:
标签:
php
arrays
string
echo
【解决方案1】:
使用nl2br 进行常规换行
<?php echo nl2br($m["page_features"]); ?>
对于 UL 列表:
<?php
$features = explode("\n",$m["page_features"]);
if (count($features)>0){
echo"<ul>";
foreach($features as $f) echo"<li>$f</li>";
echo "</ul>";
}
?>
【解决方案2】:
解决方案是使用php的explode函数和forloop(任何循环)来循环每个值..
如果您提供完整的代码,那将非常有帮助!
因此,首先采用 2 个假设,接收到的数据具有 br 标签,其次它有太多的空格....
如果我假设使用的标签是
那么试试这个
<?php
$str = "Bunk house <br> Front Bedroom <br> kitchen <br> island <br> loft <br> etc";
$array = array_filter(explode("<br>",$str));
foreach ($array as $value){
echo "<li>".$value."</li><br>";
}
?>
如果我假设字符串中有太多空格,那么代码就变成了
<?php
$str = "Bunk house Front Bedroom kitchen island loft etc";
$array = array_filter(explode(" ",$str));
foreach ($array as $value){
echo "<li>".$value."</li><br>";
}
?>