我在数据库中的表中有以下内容,名为“tasks”
Progressing of new Engineering & Technical enquiries from client
Expediting jobs
Resolving any client's requests
Quote processing
Communicating and liaising between client and Team Leader
Progressing of new repair enquiries
Attend meetings with clients and generating enquiries
Build relationships and obtain new orders from clients
Liaising with customer planners to organise offshore trips
Assisting in the workshop during busy periods
它通过Textarea输入到数据库中,每个都是一个新行。
输出数据库单元格时,它显示为一行。但如果我使用nl2br
回复它,它会将<br>
添加到代码中,以便显示为列表。
$result2 = $con->query('SELECT * FROM role WHERE id = "'.$row['role'].'"');
while ($row2 = $result2->fetch_assoc()) {
echo "<p>".nl2br($row2['duties'])."</p>";
}
有没有办法改变它,以便它回应每一行而不是<br>
它将是如下的实际列表项?
<li>Progressing of new Engineering & Technical enquiries from client</li>
<li>Expediting jobs</li>
<li>Resolving any client's requests</li>
<li>Quote processing</li>
<li>Communicating and liaising between client and Team Leader</li>
<li>Progressing of new repair enquiries</li>
<li>Attend meetings with clients and generating enquiries</li>
<li>Build relationships and obtain new orders from clients</li>
<li>Liaising with customer planners to organise offshore trips</li>
<li>Assisting in the workshop during busy periods</li>
答案 0 :(得分:1)
在while
循环中,替换:
echo "<p>".nl2br($row2['duties'])."</p>";
与
$withLineBreaks = nl2br($row2['duties']) ;
echo "<li>" . str_replace ( "<br/>", "</li><li>" , mixed $withLineBreaks) . "</li>";
(如果你的数据末尾有一个尾随换行符,那么最后你会得到一个超额/空<li></li>
- 所以你可能需要先将其修剪掉。 / p>
当然,如果你有正确的正则表达式,你可以直接替换那些换行符而不是使用nl2br
。不能测试这个,但认为这应该得到任何通常的换行格式:
echo "<li>" . preg_replace("#[\n\r]{1,2}#","</li><li>", $row2['duties']) . "</li>";