我想使用css或xpath选择器删除style
和script
标记及其内容。
这是一个HTML示例:
<html>
<head>
<title>test</title>
<style>
// style
</style>
<script>
/* some script */
</script>
</head>
<body>
<p>text</p>
<script>
/* some script */
</script>
<div>foo</div>
</body>
</html>
我希望得到这样的HTML:
<html>
<head>
<title>test</title>
</head>
<body>
<p>text</p>
<div>foo</div>
</body>
</html>
我以为我可以使用此代码获取不包含<script>
标记的HTML,但不知何故,代码只会复制HTML。
doc = Nokogiri::HTML(open("foo.text"))
doc.css(":not(script)").to_html
如何启用我想要的行为?
答案 0 :(得分:1)
尝试以下几行:
doc.search('.//style').remove
doc.search('.//script').remove
答案 1 :(得分:1)
简单就是:
doc.search('style,script').remove