我試過nl2br()
以及所有在註釋here中列出的方法。我遇到的問題是,即使他們插入了<br/>
,\n
仍然保留在文本中。如何用<br>代替PHP
這是我最初做:
<?php
$stmt = $db->prepare(...)
$stmt->execute();
while ($row = $stmt->fetch()) {
$tldr_clean = nl2br($row['tldr']);
$body_clean = nl2br($row['body']);
?>
<section>
<h2 class="tldr"><?= $tldr_clean ?> <?= $row['score']?>/10</h2>
<p class="body"><?= $body_clean ?></p>
<p class="reviewer">Written by <?= $row['name'] ?></p>
</section>
<?php
} ?>
假設$row['body']
是"Hello\nGoodbye"
,在HTML輸出結果是:
Hello\n
Goodbye
我一直在使用該方法nl2br()
直接與字符串嘗試即存儲在數據庫中,並且它正常工作。所以我猜測問題是用變量調用方法?我該如何解決它?
編輯:
字符串作爲NVARCHAR2存儲在SQLite表中。
字符串存儲在數據庫:。
「Fusce履歷普魯斯tristique,efficitur悲等,tristique賭注Aliquam SAPIEN nisl,sagittis ID斯托eget,placerat ultrices nisl在的Tempus sollicitudin mauris UT feugiat Pellentesque imperdiet在risus ex dictum,sed tempus est pulvinar。Nunc nec leo fringilla diam sodales euismod sed sed odio。\ n Cras mollis,quas at iaculis semper,justo dui maximus tellus,quis dictum urna velit sit amet justo。Curabitur consectetur fringilla arcu,sit amet ultrices est dignissim eget。Etiam non dapibus justo,et semper quam。Suspendisse tristique augue sit amet gravida euismod。Ut tempus metus quis nisl sagittis volutpat。Nam rhoncus diam luctus dictum tristique。「
你必須在那裏有一個文字'\ n'。檢查你的插入值,確保你實際插入了一個換行符,而不是反斜槓和n。 – Devon
該文檔顯示「在所有換行符(\ r \ n,\ n \ r,\ n和\ r)之前插入了
或
的返回字符串。」因此,這是預期的行爲 –
請在此處查看接受的答案:http: //stackoverflow.com/a/8627926/5530965也許它作爲HTML實體保存在數據庫中? –