按名称获取元素 - HTML DOM PHRASE

时间:2013-04-10 13:50:40

标签: php html domdocument

我正在尝试使用HTML DOM短语来短语html源代码,我需要在输入代码中获取一个值,我试过这个:

foreach ($doc->getElementsByTagName('input') as $link)
{
    $links[] = array(
        'value' => $link->getAttribute('value'), 
        'text'  => $link->nodeValue,
    );
}

这对我有用,但我的网页上有更多的输入标记,但我想得到指定输入标记的值。

我们说是的,

<input type="hidden" value="11111111" name="tele">

我尝试使用getElementsByTagName,但它给了我一个错误。

2 个答案:

答案 0 :(得分:4)

您也可以使用现有的代码进行一些修改

foreach ($doc->getElementsByTagName('input') as $link) 
{
    if ($link->getAttribute('name') == 'tele') {
        $links[] = array(
            'value' => $link->getAttribute('value'), 
            'text'  => $link->nodeValue,
        );
    }
}

答案 1 :(得分:1)

您可以使用DomXpath

$xpath = new DomXpath($doc);
foreach ($xpath->query('//input[@name="tele"]') as $link) {
    $links[] = array('value' => $link->getAttribute('value'), 'text' => $link->nodeValue);
}