4

我正在尝试使用 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,但它给了我一个错误。

4

2 回答 2

4

您也可以使用您现在拥有的代码,稍加修改

foreach ($doc->getElementsByTagName('input') as $link) 
{
    if ($link->getAttribute('name') == 'tele') {
        $links[] = array(
            'value' => $link->getAttribute('value'), 
            'text'  => $link->nodeValue,
        );
    }
}
于 2013-04-10T13:57:21.860 回答
2

你可以使用DomXpath

$xpath = new DomXpath($doc);
foreach ($xpath->query('//input[@name="tele"]') as $link) {
    $links[] = array('value' => $link->getAttribute('value'), 'text' => $link->nodeValue);
}
于 2013-04-10T13:58:49.427 回答