• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPでHTMLをXMLに変換したときに消える内容)

PHPでHTMLをXMLに変換する際に消えてしまう内容

このQ&Aのポイント
  • PHPを使用してHTMLをXMLに変換する際、一部の内容が消えてしまう現象について教えてください。
  • 例えば、特定の要素やテキストが変換後のXMLに含まれなくなってしまうことがあります。
  • 原因はHTMLの書き方によるものかもしれませんが、どのように対処すればいいのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.1

【原因】 XMLは何も無いところに値を置くことが出来ません。これは例えばもし、もとのHTMLの bar の部分が <span>bar</span> であれば正常に残ることを意味します。 【解決策】 DOMDocumentのまま使いましょう。やや不便な面もありますが、スクレイピングに使えることには変わりありません。 PHPネイティブのDOMによるスクレイピング入門 http://qiita.com/mpyw/items/c0312271819baee09132 不便を感じてきたところでGoutteなどのライブラリの導入を検討するのもありです。

penta012
質問者

お礼

教えていただいたうえに、参考サイトまで提示してもらい、感激です! しかし、通常のHTMLにはタグで囲われてない文字もかなりの頻度で あると思うのですが、そういうのはポロポロ抜けてしまうということ になってしまうんでしょうかねぇ。 それこそ、自動的にspanタグで囲うような処理を間に挟んだりして もらいたいもんだなぁ、と勝手ながら、思ってしまいました。 なのですが、実際の解決法については、教えていただいた参考サイトに、 「自分で正規表現を使って必要部分だけを抜き出す方法は、全ての方法 の中で最も高速」とあったことで、今更ながら「ですよねー」と思い至り、 file_get_contentsで取得したものを、正規表現で削り取るというような、 素朴で泥臭い方法に変えまして、目的は何とか遂げることができました。 ちょっとハラホロヒレハレな結末になってしまいましたが、 ご助言がなければ、もっとヒーヒー言っていたことと思います。 非常に、助かりました。 ありがとうございました。 感謝感謝です!!!