私はHTML DomObjectを使ってWebページを解析して、アプリケーションでSEO品質をスキャンするために使っています。PHP DomDocumentがあなたのHTML文字列を「修正」しないようにする方法
しかし私は問題のabitに遭遇しました。私は、以下の不正なHTML含む小さなHTMLページに書いたテストの目的のために:あなたはタイトルが頭タグウィッヒ外で見ることができるように
<head>
<meta name="description" content="randomdesciption">
</head>
<title>sometitle</title>
を私が検出しようとしていますエラーです。
カールを使用してこのページからレスポンス文字列を取得し、domドキュメントに送信してHTMLとして読み込むと問題が発生します。実際には、タイトルの周りに別のタグを追加することでこれを修正します。
<head>
<meta name="description" content="randomdesciption">
</head>
<head><title>sometitle</title></head>
私はカールresponceデータをチェックしてInfactは問題ではないことをしている、loadHTML()メソッドの実行中に何らかの形でのPHPのDOMDocumentは、HTML構文を修正します。
また、DomDocumentのrecover、substituteEntities、およびvalidateOnParse属性を無効にしてfalseに設定して無効にしてみました。
私はGoogleを検索していますが、私はこれまでの回答を見つけることができません。私は実際に壊れたHTMLが修正されないことを望む人にとってはまれなことだと思います。
DomDocumentが壊れたHTMLを修正するのを防ぐ方法を知っていますか?事前に
おかげ
は、あなたがそれを渡す前に、[きちんと](http://php.net/tidy)を通して、あなたのマークアップを実行している検討していますDOMの代わりに、あるいはDOMの代わりに?これは、マークアップエラーを検出するのに便利な拡張機能です。 – TML
注:この動作は実際にはHTMLで指定されたとおりです: '
'にはオプションの開始タグと終了タグがあり、 '