Pin*_*kie 62 javascript regex jquery
我如何编写正则表达式来替换<br />或<br> 使用\n.我正在尝试将文本从div移动到textarea,但不希望<br>在textarea中显示,所以我想替换然后用\n.
Ten*_*eff 165
var str = document.getElementById('mydiv').innerHTML;
document.getElementById('mytextarea').innerHTML = str.replace(/<br\s*[\/]?>/gi, "\n");
Run Code Online (Sandbox Code Playgroud)
或使用jQuery:
var str = $("#mydiv").html();
var regex = /<br\s*[\/]?>/gi;
$("#mydiv").html(str.replace(regex, "\n"));
Run Code Online (Sandbox Code Playgroud)
编辑:添加i标志
edit2:你可以使用/<br[^>]*>/gi哪个匹配任何东西br,slash如果你有,例如<br class="clear" />
便宜又令人讨厌的是:
jQuery("#myDiv").html().replace("<br>", "\n").replace("<br />", "\n")
Run Code Online (Sandbox Code Playgroud)
编辑
jQuery("#myTextArea").val(
jQuery("#myDiv").html()
.replace(/\<br\>/g, "\n")
.replace(/\<br \/\>/g, "\n")
);
Run Code Online (Sandbox Code Playgroud)
如果需要的话还创建了一个jsfiddle:http ://jsfiddle.net/2D3xx/
如果您想直接更改DOM而又不弄乱内部HTML,则采用真正的jQuery方法:
$('#text')。find('br')。prepend(document.createTextNode('\ n'))。remove();
前置元素中插入,before()是我们在这里需要的方法:
$('#text').find('br').before(document.createTextNode('\n')).remove();
Run Code Online (Sandbox Code Playgroud)
代码将找到任何<br>元素,使用换行符插入原始文本,然后删除<br>元素。
如果您使用长文本,这应该会更快,因为此处没有字符串操作。
要显示新行:
$('#text').css('white-space', 'pre-line');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115323 次 |
| 最近记录: |