簡體   English   中英

nl2br 沒有清除所有新行

[英]nl2br not clearing all new lines

所以我對 nl2br 有一些奇怪的問題,所以我有以下代碼:

var infowindow = new google.maps.InfoWindow({
    content: "<?= nl2br($store["Stores"]["address"]) ?>"
});

查看瀏覽器源代碼時的 output 如下圖所示:

在此處輸入圖像描述

如您所見, <br />已正確引入,但由於某種原因,該行仍然中斷,導致 javascript 錯誤。

變量值是從表單的文本區域輸入中發布的內容

正如您從文檔中的示例中看到的那樣,這似乎是預期的行為。 如果您想替換所有換行符以將字符串放入一行,則應該使用簡單的正則表達式。 這就是我會嘗試的方式(從我的腦海中輸入,這未經測試):

<?= preg_replace('/(\r\n|\n|\r)/','<br/>',$store["Stores"]["address"]) ?>

這是nl2br的預期行為。 如果要刪除字符串中的換行符,則必須使用 preg_replace。

<?= preg_replace("/(\r\n|\n|\r)/", "<br />", $input)

nl2br 不會刪除換行符,它只是在它們之前插入 <br />。

http://php.net/manual/en/function.nl2br.php

這是你的答案

var infowindow = new google.maps.InfoWindow({
    content: <>"<?= nl2br($store["Stores"]["address"]) ?>"</>.toString()
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM