提取td标签(php)的属性值


extract attritube value of td tag(php)

<tr>
<td>New order info</td>
<td class="emailid"><input type="button" class="product product-info" value="View product" onclick="popupWindow('viewproduct.php?id=481244','emlmsg',650,400)" /></td>
</tr>
 <tr

我想在td标签中获得id号,前面是"新订单信息"。以上是HTML代码的摘录。我尝试使用regex和domdocument来做到这一点,但无法得到所需的结果。我正在考虑使用DocDocument的getElementsByTagName方法获得所有td标签元素,如果td文本值是"新订单信息",则在下一个td标签中获取属性。但我不知道该怎么做,或者这是正确的方式。我试过nextSibling,但在这种情况下不起作用。是否有任何方法可以在下一个td标签中获得属性值?

$DOMNodelist = $doc->getElementsByTagName('td');
                  foreach($DOMNodelist as $DOMElements) {
                       if ($DOMElements->nodeValue == "New order info") {
                                      ...................
                         }
                    }

非常感谢!

在这里使用XPath:

$html = <<<EOF
<tr>
<td>New order info</td>
<td class="emailid"><input type="button" class="product product-info" value="View product" onclick="popupWindow('viewproduct.php?id=481244','emlmsg',650,400)" /></td>
</tr>
EOF;
$doc = new DOMDocument();
$doc->loadHTML($html);
$selector = new DOMXPath($doc);
$td = $selector->query('//td[text() = "New order info"]/following-sibling::td')->item(0);
var_dump($td);

上面的示例选择以'New order info'开头的<td>节点。但是,td标签没有id属性。