HTML标签更换/删除

时间:2014-03-24 21:27:44

标签: html regex

我正试图找到一种方法来清理一些非常草率的HTML(机器生成)。

我的假设是这个解决方案的正则表达式,但我不知道从哪里开始。

HTML like ...

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等),我可以使用apps,applescript或其他任何东西来节省手动搜索其中的每一个。

感谢您的帮助。

2 个答案:

答案 0 :(得分: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,它就会删除所有标签。

答案 1 :(得分:0)

使用Sublime Text,您可以通过Package Control安装插件ClipboardCommands,然后

  • 选择sublime text
  • 中的所有输入字符串
  • 输入ctrl + shift + p(windows),选择&#39;剪贴板:复制纯文本&#39;
  • &#39; CTRL + SHIFT + P&#39;再次选择&#39;剪贴板:粘贴纯文本&#39;

这将按预期工作,但正如您所看到的,它有点烦人,您可以自己扩展此插件或安装现有的one, 我从原点分叉并进行一些改动以满足您的要求。 你可以在任何地方复制草率的html,然后使用命令&#34;剪贴板:粘贴纯文本和html标签去掉&#34;通过快速面板(ctrl + shift + p)或绑定任何你喜欢的快捷方式