2017-08-30 171 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