2009-08-26 5 views
1

私はhttp://validator.nu/のようなものを探していますが、html input(string)を検証していますが、欠落している終了タグがあるかどうか、特定の要素に特定の属性、その性質のもの(HTML 4.01厳密な検証は基本的に)。Javascript/PHPのHTML Validator? (必ずしもXMLではない)

Sidenote:私はXML/DTDを扱うことはしません。ユーザーの入力を修正する必要はありません。http://htmlpurifier.org/のようにします。 PHPから行うHTML検証のため

答えて

2

Soo、公式W3 Validator SOAP Webサービスを使用して終了しました。これはTidyの警告よりはるかに優れており、必要なだけの完璧なツールです。いくつかのSOAPと名前空間の規則を学ばなくてはなりませんでしたが、それは価値がありました:)

4

は、tidy extensionあなたがしたいだけかかもしれないもの:

Tidyのが可能にTidyのHTMLのための結合 クリーンと修復ユーティリティです あなただけがきれいではない、そうでなければ HTMLドキュメントを操作するだけでなく、 ドキュメントツリー

トラバースtidy::__constructに与えられた例では、このようなものです:

$html = <<< HTML 

<!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" xml:lang="en" lang="en"> 
<head><title>title</title></head> 
<body> 
<p>paragraph <bt /> 
text</p> 
</body></html> 

HTML; 

$tidy = new tidy(); 
$tidy->ParseString($html); 

$tidy->CleanRepair(); 

if ($tidy->errorBuffer) { 
    var_dump($tidy->errorBuffer); 
} 

そして、この出力を与える:

string 'line 8 column 14 - Error: <bt> is not recognized! 
line 8 column 14 - Warning: discarding unexpected <bt>' (length=104) 

カップルや他の方法は、あなたのウェブサーバ上で有効になってあなたはこの拡張機能をインストールする必要があり、ところで;-)


注意/、あまりにも面白いように見えますしかし、phpinfo()の出力に「整頓」セクションがあるはずです。

関連する問題