如何通过PHP将这些HTML/XML标记作为字符串获取


How can i get these HTML/XML-Tags as a String via PHP?

我需要一些表值作为php脚本中的String。

HTML文件看起来像:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
...
<body>
....
<div class="page">
<div class="content">
<div class="left">
<table class="info_table">
<tbody>
<tr id="info_id_352">
        <td class="info_iddata"><a href="Ice-Tea">Icetea</a></td>
        <td style="width: 32px;"><div class="enough_available"></div></td>
        <td class="drink-status drink-enoughavailable">Available</td>
</tr>
</tbody>
</table>
...
</div>
</div>
</div>
</body>
</html>

这里我需要以下XML标记和值:

发件人:

  • a-href-link的值(在本例中为值"Icetea")
  • 第二个字段的xml标记(在本例中为"enough_available")
  • xml标记和第三个字段的值(此处:"drink status drink enoughavailable"answers"Available"

我用以下行尝试了这个(第一个值"IceTea"):

$pagestring = file_get_contents("./index.html");
$drinkxml = new DOMDocument();
$drinkxml->loadHTML($pagestring);
$drinkxml->getElementsByTagNameNs('info_id_352', '*') as $tr ;
echo current($tr->getElementsByTagName('a'))->nodeValue;

使用这些行,我在shell上得到以下php错误:

PHP Parse error:  syntax error, unexpected T_AS in /home/phpscripts/bin/drinkstatus/php/drinkstatus.php on line 44

有人提示过要获取xml值和类名吗?

$drinkxml->getElementsByTagNameNs('info_id_352', '*') as $tr ;

是语法错误,因为"as"不是foreach条件之外的关键字。尝试分配tr:

$tr = $drinkxml->getElementsByTagNameNs('info_id_352', '*');

GetElementsByTagNameNs返回一个节点列表对象,因此它应该适用于下一个方法调用。

http://php.net/manual/en/domelement.getelementsbytagnamens.php

我假设错误第44行指向这一行:
CCD_ 1。

你不能用那种方式使用"as"。如果您正在创建一个FOR EACH循环,那么您可能希望这样做。但除此之外,纳达。

请尝试创建一个变量。。。将上面的行替换为下面的行:

$tr = $drinkxml->getElementsByTagNameNs('info_id_352', '*');