2017-08-30 175 views
3

当我从Microsoft Word复制并从剪贴板粘贴到contenteditable div标记时,额外的标记代码被粘贴。 这是一个测试链接: https://codepen.io/anon/pen/hFAdk 该脚本不会删除多余的段落标记。这是我想补充,但不工作javascript正则表达式删除额外的p标记

<p[^>]*>[\s|&nbsp;]*<\/p> 

输入正则表达式:

Mauris adipiscing拉克丝

Phasellus iaculis iaculis

Pellentesque蚤华富

输出:

<p>Mauris adipiscing lacus</p> 
<p></p> 
<p>Phasellus iaculis iaculis </p> 
<p></p> 
<p>Pellentesque felis quam </p> 

愿望输出:

<p>Mauris adipiscing lacus</p> 
<p>Phasellus iaculis iaculis </p> 
<p>Pellentesque felis quam </p> 

有没有人有一个想法如何去除这些多余的p标签? :(

感谢您的帮助提前

+0

要删除所有'

'采用javascript正则表达式,右 –

+0

哎?添,只是想删除空标签,我试图添加正则表达式,但不工作] *> [\ s |  ] * <\/p>这里是一个链接测试:https:// codep en.io/anon/pen/hFAdk – mp5163093

+0

ahh ..'] *> [\ s |  ] * <\/p>'不适用于JS,因为它应该是'/ ] *> [\ s |  ] * <\/p>/gi' –

回答

0

试试这个:

/<(p)[^>]*?>(\s|(&nbsp;))*?<\/\1>/gi 

演示:https://regex101.com/r/uKrux8/1

+0

如何以及在哪里添加此脚本? https://codepen.io/anon/pen/hFAdk – mp5163093

+0

早安Tim,你的正则表达式和我的工作本身很好,但是当我添加到我的代码中时什么也不做。 :(我添加了这行代码,但是 它可能与代码中的其他内容发生冲突。content = content.replace(/ <(p)[^>)*?>(\ s |( ))*?<\/\1>/gi,“”); codepen.io/anon/pen/hFAdk问题是把它放在一起:( – mp5163093

+0

嘿蒂姆,我的朋友罗伯特figuere出和问题,这是正则表达式http://booden.net/ContentCleaner.aspx <[^\/>] [^ >] *> \ s * <\/[^>] +>感谢您的帮助:) – mp5163093