0

まず、私は PHP を初めて使用するので、これがばかげた質問である場合は申し訳ありません。次に、このタイトルが間違っている場合は申し訳ありません。

今、私がやろうとしているのは、私がプレイするゲームのオーバーレイを作成することです。オーバーレイ用のコードは完全に機能し、現在、Web サイトから情報を取得して出力する HTML ファイルに取り組んでいます。ウェブサイトのコードは次のようになります。

<span id="example1">Information I want</span>
<span id="example2">More Info I want</span>
...
<span id="example3">And some more</span>

ここでやりたいことは、名前で要素を見つけてそれらのスパンタグの情報を提供する PHP スクリプトを作成することです。これが私がこれまでに試したことですが、うまくいきません(当然のことです):

//Some HTML here
<?php
$doc = new DomDocument;
$doc->validateOnParse = true;
$doc->Load('www.website.com');

echo "Example1: " . $doc->getElementById('example1') . "\n";
?>
//More HTML

正直なところ、私は自分が何をしているのかわかりません。誰かがこれを適切に行う方法の例を示してくれたり、正しい方向に向けてくれたりしてくれたら幸いです。

4

3 に答える 3

1

あなたのコードは正しいように見えますが、いくつか不足しています。

まず第一に、load呼び出しは文字通り「www.website.com」という名前のファイルを探しています。リモート ファイルの場合は、http://プレフィックスを含める必要があります。

次に、ノード自体をエコーアウトしようとしていますが、その値 (つまり、その内容) が必要です。代わりに
試してください。$doc->getElementById("example1")->nodeValue

それはそれを行う必要があります。libxml_use_internal_errors(true);ソース ファイル内のエラーによってページが PHP エラーで破壊されないように、追加することをお勧めします。loadHTMLFileまた、の代わりに を使用することをお勧めしloadます。これは、不正な形式のドキュメントに対してより寛大になるためです。

于 2013-03-31T21:20:38.183 に答える
1

開始タグと終了タグの間のテキストはテキスト ノードです。

書くだけ$doc->getElementById('example1')->nodeValue

于 2013-03-31T21:22:13.167 に答える