我有一个带有 textarea 的表单,我想将输入的换行符更改为段落(使用<p>标签)。我使用explode 和implode 替换\n为</p><p>,但是如果您连续有两个换行符,则以</p><p></p><p>. 我正在尝试使用 foreach 循环来遍历每个元素并检查它是否为空以解决这个问题,但它似乎根本不起作用。这是我所拥有的:
foreach($text as $value){
if($value!=''){
$newtext.='</p><p>'.$value;
}
}
Run Code Online (Sandbox Code Playgroud)
这仍然</p><p></p><p>适用于双倍间距的东西。我也尝试替换if($value!='')为!is_null(trim($value)),但它仍然不起作用。我的代码有什么问题,我该如何解决?
像这样的事情会起作用:
$newtext = '<p>' . implode('</p><p>', array_filter(explode("\n", $textarea))) . '</p>';
Run Code Online (Sandbox Code Playgroud)
\np标签连接在一起