我使用http://tidy.sourceforge.net/將HTML轉換爲XHTML,並且我希望稍後使用XSLT轉換此XHTML。Html使用php代碼整理,XHTML之後無效XML
不幸的是我試圖解析一個techcrunch網站(僅用於測試)。 techcrunch網站包含php代碼和HTML tidy通過此php代碼生成無效的XML文件。
簡體輸入文件dirty.htm
:
<html>
<head>
</head>
<body>
<a href="http://www.crunchbase.com/company/google" onclick="<?php tc_set_omniture_attr("post_widget_crunchbase") ?>Google</a>
</body>
</html>
與HTML整潔cleaned.htm
我的輸出文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<p><a href="http://www.crunchbase.com/company/google" onclick="<?php tc_set_omniture_attr(">Google</a></p>
</body>
</html>
的主要問題是onclick
的<
這是不允許的XML屬性! XSLTProc拒絕打開這個無效的XML。
我的HTML精簡選項tidyconfig.cfg
:
output-xhtml: 1
indent: 0
tidy-mark: 0
wrap: 0
alt-text:
doctype: strict
force-output: 1
numeric-entities: 1
clean: 1
bare: 1
word-2000: 1
drop-proprietary-attributes: 1
enclose-text: 1
logical-emphasis: 1
HTML精簡命令行:
tidy -quiet -config tidyconfig.cfg -output cleaned.htm dirty.htm
難道我錯過任何HTML精簡選項?所有整潔選項:http://tidy.sourceforge.net/docs/quickref.html
好的,謝謝。似乎整潔的HTML不會做我想做的事。 – therealmarv