[英]PHP dom - How to get the contents within a span tag that includes a hyperlink
[英]How to get the hyperlink with PHP DOM?
我有一個簡單的HTML構造:
<table>
<tr>
<td class="myStyle">
<a href="URLa">Name of URL a</a>
</td>
</tr>
<tr>
<td class="myStyle">
<a href="URLb">Name of URL b</a>
</td>
</tr>
</table>
現在我想找到PHP DOM如何獲取此URL以及可能的名稱。
while($table = $tables->item($i++))
{
$class_node = $table->attributes->getNamedItem('class');
if($class_node)
{
if ($table->attributes->getNamedItem('class')->value == "myStyle") {
$links = $tables->item($i)->getElementsByTagName('a');
foreach ($links as $link) {
echo "<br>" . $link->nodeName;
}
//echo "Class is : " . $table->attributes->getNamedItem('class')->value . PHP_EOL;
}
}
}
到目前為止,我可以打印出具有“myStyle”類的每一行。 但我無法從那里獲取任何值或href。
我知道XPath更方便,但我想首先嘗試使用DOM。 在XPath中,我在遍歷DOM時知道我的位置。 但是這里有DOM,我想我不在我想要的循環中的那個位置。
繼續這樣..
$dom = new DOMDocument;
$dom->loadHTML($html);
foreach ($dom->getElementsByTagName('td') as $tag) {
if ($tag->getAttribute('class') === 'myStyle') {
foreach ($tag->getElementsByTagName('a') as $atag) {
echo $atag->getAttribute('href');
}
}
}
OUTPUT :
URLa
URLb
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.