私は、ユーザがニュース記事や他のウェブページ(日本語)へのURLを入力し、そのページの内容をページ内のiFrame内で見ることを可能にするアプレットの開発に取り組んでいます。その考えは、コンテンツがページにロードされると、カーソルを使用して単語を強調表示し、選択されたテキストを配列に格納して(用語の個人辞書に翻訳/追加するため)、テキストを赤いボックスに囲む私のドメインに定義されているスタイルシートに従って(div)。これを行うには、cURLを使用して外部ページのHTMLを取得し、iFrameのソースにダンプします。cURLリクエストからHTMLを正しくフォーマットする
しかし、私は検索されたHTMLに大きなフォーマット上の問題を抱えています。大きな問題はスタイルシートを保存することです。これを修正するために、DOMDocumentを使用して、取得したHTMLのセクションにタグを追加しました。これはのいくつかのページ/ URLで機能しますが、多くの場合、出力HTMLにはまだ多くのスタイル上の問題があります。たとえば、divレイヤーが互いにクラッシュし、アラインメントがオフになり、背景が欠落しています。埋め込みコンテンツのテキスト選択を機能させるためにonClick javascript関数を使用するために出力HTMLを新しいものに埋め込む必要があるため、これはもう少し問題になります。
<div onclick="parent.selectionFunction()" id ="studyContentn">
<!-- HTML of output from cURL, including doctype declarations and <html>,<head> tags -->
</div>
ほとんどの場合、私が実行し続ける書式設定の問題の多くは、大部分が恣意的です。私はPHPのTidyを使ってHTMLから出力を消去しようとしましたが、それはいくつかのページでのみ機能しますが、他のページでは機能しません。私はDOMDocumentを使って作業するときに奇妙に解析されるCDATA宣言と関係があるかもしれないというわずかな疑いがありますが、私は確信していません。
cURLからのHTML出力がすべてのインスタンスで正確かつ忠実に表示されることを保証する方法はありますか?それとも、これをやるより良い方法がありますか?私はこの問題に近づくためのさまざまな方法を試みましたが、それぞれが解決策に近づきましたが、新しい問題ももたらしました。
ありがとうございます。私が何かを明確にすることができるかどうかを教えてください。