0

getElementByTagName を使用して、html ファイルからタグを解析できます。しかし、そのhtmlファイルに存在するIDとクラス名も解析したい...

これは私が試したものです:-

    $html = new DOMDocument();
    $html->loadHTMLFile($url); //url is the url of the site
    $data = $html->getElementById($identifier); //identifier is the id
    $value = array();

    foreach($data as $element)
    {
        $value[] = $element->nodeValue."<br />";
    }
    print_r($value);

しかし、getElementById を使用すると、array() として出力を取得するだけです。データを解析できません。また、IDとクラス名の値を取得する方法を教えてください??

4

2 に答える 2

1

指定されたIDを持つ要素は1つしかないため、foreachループを実行する必要はありません。

$doc = new DOMDocument();
$doc->loadHTMLFile('http://stackoverflow.com/questions/15154290/parsing-the-ids-and-classnames-from-a-html-file');

$element = $doc->getElementById('question');
if (!is_null($element)) {
    echo $element->getAttribute('class');
}
于 2013-03-01T09:35:13.330 に答える
1

私は素晴らしいツール php クエリ phpqueryを知っています。

phpQuery::newDocumentFileXHTML('my-xhtml.html')->find('#hello');

ここに があります。

または、 xpath を使用することもできます。これもxpathです。

于 2013-03-01T09:31:01.970 に答える