[PHP-users 30411] getElementByIdを使って特定要素のテキストノード取得
Masuda
macindows @ forest.ocn.ne.jp
2006年 9月 22日 (金) 19:27:49 JST
増田と申します。
現在PHPを使って、HTMLからID指定で要素を取得しようとしているのですが、理解できない点がありますの
で、ご教授願えたらと思います。
以下のように、getElementByTagNameを使って、pタグに囲まれたテキストノードは取得できるのですが、
getElementByIdを使ってID指定でできないかと思っております。
$myhtml = <<<EOF
<html>
<head>
<title>My Page</title>
</head>
<body>
<p>para1<br>
<p id="title">P2Title</p><br>
</body>
</html>
EOF;
$doc = new DOMDocument();
$doc->loadHTML($myhtml);
$p = $doc->getElementsByTagName('p');
foreach ($p as $p) {
echo $p->nodeValue."<br>"."\n";
}
http://www.php.net/manual/ja/function.dom-domdocument-getelementbyid.php
こちらのgetElementByIDのマニュアルを参考に、
echo $doc->getElementById('title')->tagName;
echo $doc->getElementById('title')->nodeValue;
を試みているのですが、何も返されない状態です。
「[PHP-users 28965] 特定タグの文字を抽出するには」を拝見しますと正規表現を使ったほうが良いような
気もするのですが、getElementByIdを使ってのノード取得は可能なのでしょうか?
DOMに対する理解が足りなく、どの階層でechoしているのかも理解できていないのですが、
ご助言いただければ幸いです。よろしくお願いします。
増田
--
Masuda <macindows @ forest.ocn.ne.jp>
PHP-users メーリングリストの案内