如何使用JS replace()方法执行此操作:
<p>$1</p>
<br>
示例HTML:
<p>Hello</p><p>Wor<br>ld</p>
<textarea>
看起来像:
Hello
Wor
ld
那么,我怎样才能做到这一点?这是一个AJAX表单,当你点击这个div时,它会变为<textarea>
并返回,第四,等等。所以,我需要它来自<p>
和<br>
s到\n\n
和\n
。对于从 HTML 到 <textarea>
,我有:
$(this).html().replace(/\s?<\/?(p|br\s?\/?)>\s?/g,"\n")
对维克多和其他人来说,
我尝试将此代码转换回来,但它给了我这个回报(...只是更多的文字)
$(this).html().replace(/\n/g, "<br>").replace(/<br><br>(.*)?/g, "<p>$1</p>");
给了我:
<div class="editable" data-name="notes-content" data-type="textarea">
“Time Certain” indicates that an item will not be heard by Council prior to the time certain
.<p>Communications items are three minutes each. ...
<br><br>The * indicates an emergency ...
<br><br>Check our Web site: www.portlandonline.com
<br>
</p>
</div>
如果您注意到,它没有包裹第一行,并且它没有将它们包裹在<p>
中,只是整个事情,我需要在<p>
s
答案 0 :(得分:1)
这个怎么样(版本#4):
$(this).html().replace(/\n/g, "<br>").replace(/(.+?)<br><br>/g, "<p>$1</p>");
答案 1 :(得分:0)
你走了:
$(this).html().replace(/\n/g, "<br>").replace(/<br><br>(.*)?/g, "<p>$1</p>");