javascript - 将新行更改为 iFrame 中的 <p> 换行?

标签 javascript html internet-explorer iframe

当我将文本粘贴到 IE11 中的 iFrame 中时,它会忽略/n 并将其转换为空格。由于我想保持粘贴文本的格式,因此我希望保留新行。

由于 IE 自动将新行处理为新段落,因此我更愿意在粘贴文本时保持这种方式。这是我的代码

//Html is the text obtained from the clipboard. New lines are stored as /n
html = html.replace(/\n\n/g, '</p><p><br>');
html = html.replace(/\n/g, '</p><p>');
html = '<p>'+html+'</p>'

这在大多数情况下都可以正常工作,尽管浏览器由于某些原因在粘贴文本的开头添加了一个额外的 p 标签(但没有结束标签)

这导致了很多恼人的错误。有没有更好的方法来解决这个问题?

最佳答案

你可以使用 split/join 方法,看看 this example 。对于以下 html:

<textarea class="pasted_text">Line 1
Line 2
Line 3
Line 5
</textarea>
<h4>Result (paragraphs have blue border):</h4>
<div class="result_text"></div>

我们使用 \n 分割字符串,清理并使用段落标签连接:

var pastedText = $('.pasted_text').val();
/* Split text on new lines */
var split = pastedText.split('\n');
/* Remove empty paragraphs */
var clean = split.filter(function(n){ return n });
/* Join back with paragraph tags */
var joined = clean.join('</p><p>');
/* Enclose with paragraph */
var result = '<p>'+joined+'</p>';
/* Print output */
$('.result_text').html( result );

关于javascript - 将新行更改为 iFrame 中的 <p> 换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28472584/

相关文章:

html - 溢出 :hidden not working at all

css - IE 在提交按钮上显示黑色边框轮廓

javascript - 如何使html中的canvas元素可点击?

javascript - 使用 ajax 时无效的 csrf token

Python 使用 Beautiful Soup 对特定内容进行 HTML 处理

excel - 使用VB自动化IE "save target as"

html - 使用 VBA 操作 IE 以登录和预订类(class)

javascript - 为什么我在使用 `undefined` 时得到 `document.getElementsByClassName(...).value` ?

javascript - 使用 HolidayAPI 处理银行假日

html - HTML5播放器定制