簡體   English   中英

更換時正在打印多余的新行 <br> 用Java中的&#39;\\ n&#39;

[英]Extra New Lines Being Printed When replacing <br> with '\n' in Javascript

我需要一點幫助。 我正在使用javascript將br標簽轉換為“ \\ n”。 但是它會在當前的br標簽數量中放置額外的'\\ n'字符...

以下文字

dummy text dummy text dummy text dummy text dummy text dummy text <br><br>dummy text dummy text dummy text dummy text dummy text dummy text

被取代

dummy text dummy text dummy text dummy text dummy text dummy text 



dummy text dummy text dummy text dummy text dummy text dummy text

我已經嘗試了許多正則表達式和在stackoverflow上可用的東西,但是它們都打印了額外的換行符。

這是我目前正在使用的表達方式。

str.replace(/<br>/g,'\n')

發生這種情況特別是文本框的內容是通過php中的nl2br加載的。

請參閱以下圖像。

這是頁面加載時 這是頁面加載時

這是在按下編輯並調用str.replace時。 這是在按下編輯並調用str.replace時。

誰能說出我在哪里犯錯了?

謝謝

PHP的nl2br不會替換換行符,它只是在現有的換行符中添加<br />標記。

當您的JS嘗試“逆向”操作時,將導致原始換行符被復制。

您的替換內容應替換為空字符串以刪除<br />標簽。

還考慮使用CSS white-space: pre-wrap 而不是 nl2br ,因為這將保留所有空格,包括換行符和多個空格!

只需使用

replace(/<br\s*\/?>\n/mg,"\n")

暫無
暫無

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

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