2014-03-24 528 views
0

我試圖找到一種方法來清理一些非常草率的HTML(機器生成)。HTML標記替換/刪除

我的假設是這個解決方案的正則表達式,但我不確定從哪裏開始。

HTML一樣......

the <div>government’s</div> 「risk management」 efforts. As&nbsp;<br /> 
<span style="line-height:1.6em">critical infrastructure provides</span><br> 

到HTML一樣......

the government's "risk management" efforts. As critical infrastructure provides 

這意味着更換或取出幾個不同的標籤...

&nbsp; = ' ' 
<br /> = ' ' 
<br>  = ' ' 
「  = " 
」  = " 
’  = ' 
<span> = REMOVE 
<div> = REMOVE 
style = REMOVE 

我有幾個不同的文本編輯器(Sublime Text,TextMate等),我願意使用應用程序,applescript或其他任何東西來保存手動搜索每個這些。

感謝您的任何幫助。

+0

看看https:// stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags?rq=1。 – Zeta

+0

[看看這個答案](http://stackoverflow.com/a/4234491/471272)。 – tchrist

回答

0

<span>標籤包裝它,得到它的內部HTML,並做了string.replace

<span id="test"> 
the 
<div>government’s</div>「risk management」 efforts. As&nbsp; 
<br /> 
<span style="line-height:1.6em">critical infrastructure provides</span> 

<br> 
</span> 

var cleanText = test.innerHtml.replace("<div>",""); 

或只採取innerText,它西港島線LGET擺脫所有的標籤。

0

有了崇高的文本,您可以通過包控制安裝插件ClipboardCommands,然後

  • 在崇高的文本選擇所有輸入字符串
  • 輸入Ctrl + Shift + P(Windows)中,選擇「剪貼板:複製純文本」
  • ‘Ctrl + Shift + p’再次,選擇‘剪貼板粘貼純文本’

這將作爲你的期望,但你可以看到,這是一個有點惱人,你可以擴展這個插件由你自己安裝或者安裝現有的one, 我把它分成了原始的一個,並做了一些改變以滿足你的要求。 你可以在任何地方使用命令「Clipboard:Paste Plain Text with html tags strip out」通過快速麪板(ctrl + shift + p)或者綁定任何你喜歡的快捷方式來複制馬虎的html