2016-11-19 21 views
0

是否有一种简单的方法来处理HTML文件,以便匹配某个CSS选择器的标签可以被删除?我的动机是,pandoc生成的HTML输出在我看来过于冗长,围绕任何数学表达式与<span class="math inline"> ... </span>,当通常...就足够了。对于显示数学来说,输入和输出往往会有换行符,所以也许专用工具会比grep或类似的更好。目标是减少带宽使用,所以任何客户端都会失效。简单的方法去除与CSS选择器匹配的标签(不是内容)?

+2

您使用的是哪种语言?它是服务器端还是客户端?你到目前为止尝试过什么吗? –

+0

@NeriBarakat这是一个语言不可知的问题,事实上大多数人都很关心看看是否有一些工具非常适合这个(也许'lxml'?)。我相信使用'tr'来暂时将EOL改为一些未使用的字符,然后对于字符使用'grep'> \([^ <] [^ <]*\)'应该这样做,但我是询问是否有更优雅的东西 –

+1

pandoc插入这些span标签以使像mathjax这样的javascript库能够正确显示数学......当然,您可以使用您选择的html处理工具将它们删除,例如,如果您正在使用nokogiri ruby ... – mb21

回答

1

Pandoc插入那些span标签以使像mathjax这样的javascript库能够正确显示数学......您当然可以使用您选择的html处理工具(例如,引入nokogiri如果你使用红宝石,把这样的事情在removespans.rb

require 'nokogiri' 

doc = Nokogiri::HTML(File.open("file.html")) 
doc.search('span').remove 
puts doc 

然后执行:

pandoc -s -o file.html input.md 
ruby removespans.rb > output.html