对不起那些可怜的冠军球员,但我是谁。我有一张桌子:
<table class="gsborder" cellspacing="0" cellpadding="2" rules="cols" border="1" id="d00">
<tr class="gridItem">
<td>Code</td><td>0adf</td>
</tr><tr class="AltItem">
<td>CompanyName</td><td>Some Company</td>
</tr><tr class="Item">
<td>Owner</td><td>Jim Jim</td>
</tr><tr class="AltItem">
<td>DivisionName</td><td> </td>
</tr><tr class="Item">
<td>AddressLine1</td><td>9314 W. SPRING ST.</td>
</tr>
</table>
我正在使用以下代码来获取数据:
$foo = $html->getElementById("d00")->childNodes(1)->childNodes(1);
这个问题是我用我的数据得到两个<td></td>
标签。有没有办法只抓取没有标签的原始数据?
另外,这是从我的表中获取数据的正确方法吗?
答案 0 :(得分:3)
尝试使用:
$foo = $html->getElementById("d00")->childNodes(1)->childNodes(1)->plaintext;
或innertext。
// Example
$html = str_get_html("<div>foo <b>bar</b></div>");
$e = $html->find("div", 0);
echo $e->tag; // Returns: " div"
echo $e->outertext; // Returns: " <div>foo <b>bar</b></div>"
echo $e->innertext; // Returns: " foo <b>bar</b>"
echo $e->plaintext; // Returns: " foo bar"
取自:http://simplehtmldom.sourceforge.net/manual.htm
根据经验,无论您使用哪种DOM API,一旦找到了您想要获取数据的元素,访问它们包含的文本节点需要更多的工作。
答案 1 :(得分:2)
使用strip_tags获取原始文本。
http://us.php.net/manual/en/function.strip-tags.php
所以:
$foo = strip_tags($html->getElementById("d00")->childNodes(1)->childNodes(1));