[英]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 />。
這是你的答案
var infowindow = new google.maps.InfoWindow({
content: <>"<?= nl2br($store["Stores"]["address"]) ?>"</>.toString()
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.