1

私は、HTML ドキュメントの簡単な DOM 解析を試みてきましたが、その難しさに本当にショックを受けています。

PHP の DOM クラス (シンプルな xml パーサーシンプルな HTML DOMなど) に代わる多くの代替手段のいくつかを調べました。非常に効果的なdom2array 関数も見つけました。これは、要素の生の値が必要な非常に基本的な解析に役立ちます。

ただし、これらの代替手段はどれも本当に魅力的ではありません。

通常、DOM の PHP ドキュメントには詳細が欠けており、ほとんど役に立ちません。多くのコメントは実際には本当に役に立ちます。

私がオンラインで見つけたチュートリアルでは、通常、20 行の XML ドキュメントを作成したり、ドキュメント内のすべての p タグを解析したりするなど、非常に基本的なことしか説明していません。うーん。

特に PHP の DOM ライブラリを使用した DOM の操作について詳しく説明しているサイト (または書籍) はありますか?

4

3 に答える 3

1

DOM は言語に依存しないインターフェイスであり、W3C によって詳細に文書化されています。

そうは言っても、目的が (通常は) 構造化された情報の非常に単純な解析である場合、XML はそもそも正しい形式ではない可能性があります。XML には、さまざまな高度な機能 (名前空間、DTD、XSLT、属性とテキストの区別、構造化された情報の代わりのマークアップ) が含まれています。その場合は、解析生成が非常に簡単なJSONを検討してください。

于 2012-07-24T23:05:44.867 に答える
0

投稿のタイトルを「PHP で HTML DOM を解析する最も簡単な方法」にするべきでした。「最も簡単」という言葉はあまり良い言葉ではありません。それはすべて、あなたがやろうとしていることと関連しています。私がやっていることはかなり単純明快です。スタンドアロンの HTML ドキュメントを解析し、コンテンツを別のコンテキストで表示したいと考えています。

これらは私がやりたかったことです:

  • タイトルや本文などの基本的なプロパティを解析する
  • すべてのファイル参照 (画像、リンク、css、js) を変更して、有効な場所を指すようにします
  • タグからの属性の追加/削除 (ここでは 1995 HTML を扱います)
  • インライン スタイルを取り除く

結局、Simple HTML DOM Parserを使用しました

学習曲線は非常に短く、DOM への読み取り/書き込みアクセスを簡単に行うことができます。話の終わり。ただし、ネストされた要素が詰まることがあるようです。

于 2012-08-01T19:30:02.023 に答える
0

名前に「DOM」と記載されているもの、またはそれをサポートしていると主張しているものはすべて、 W3C で定義されている DOM API をサポートする必要があり、言語固有の部分を除くすべてのドキュメントを規範と見なす必要があります。

于 2012-07-24T23:05:35.147 に答える