-1

「duties」という名前のデータベースのテーブル内に次のものがあります

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

テキストエリアを介してデータベースに入力され、それぞれが新しい行です。

データベース セルを出力すると、1 行として表示されます。しかし、それを使用してエコーすると、コード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>
4

1 に答える 1

1

whileループ内で、次を置き換えます。

echo "<p>".nl2br($row2['duties'])."</p>";

$withLineBreaks = nl2br($row2['duties']) ;
echo "<li>" . str_replace ( "<br/>", "</li><li>" , mixed $withLineBreaks) . "</li>";

(データの最後に改行がある場合、最後に余分な/空<li></li>になるので、最初にそれを切り取る必要があるかもしれません)。

もちろん、nl2br適切な正規表現があれば、これらの改行をまったく使用するのではなく、直接置き換えることもできます。これをテストする立場にはありませんが、これは通常の改行形式のいずれかを取得する必要があると思います:

echo "<li>" . preg_replace("#[\n\r]{1,2}#","</li><li>", $row2['duties']) . "</li>";
于 2013-04-08T10:19:45.897 に答える