第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何通過(guò)html內(nèi)容獲取href和文本內(nèi)容

如何通過(guò)html內(nèi)容獲取href和文本內(nèi)容

PHP
一只甜甜圈 2023-08-06 15:55:17
我想要獲取內(nèi)容和網(wǎng)址,包括所有其他 td 數(shù)據(jù)。我的代碼:$context = stream_context_create(    array(        "http" => array(            "header" => "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"        )    ));$htmlContent = file_get_contents("https://www.iana.org/domains/root/db", false, $context);    $DOM = new DOMDocument();$DOM->loadHTML($htmlContent);$FirstdTable = $DOM->getElementsByTagName('table')->item(0);$Header = $FirstdTable->getElementsByTagName('th');$Detail = $FirstdTable->getElementsByTagName('td');//#Get header name of the tableforeach($Header as $NodeHeader) {    $aDataTableHeaderHTML[] = trim($NodeHeader->textContent);}//#Get row data/detail table without header name as key$i = 0;$j = 0;foreach($Detail as $sNodeDetail){       $aDataTableDetailHTML[$j][] = trim($sNodeDetail->textContent);    $i = $i + 1;    $j = $i % count($aDataTableHeaderHTML) == 0 ? $j + 1 : $j;}電流輸出:Array(    [0] => Array        (            [0] => .aaa            [1] => generic            [2] => American Automobile Association, Inc.        )    [1] => Array        (            [0] => .aarp            [1] => generic            [2] => AARP        )    [2] => Array        (            [0] => .abarth            [1] => generic            [2] => Fiat Chrysler Automobiles N.V.        )}我在這里想要:Array(    [0] => Array        (            [0] => .aaa            [1] => generic            [2] => American Automobile Association, Inc.            [3] => https://www.iana.org/domains/root/db/aaa.html        )    [1] => Array        (            [0] => .aarp            [1] => generic            [2] => AARP            [3] => https://www.iana.org/domains/root/db/aarp.html        )    [2] => Array        (            [0] => .abarth            [1] => generic            [2] => Fiat Chrysler Automobiles N.V.            [3] => https://www.iana.org/domains/root/db/abarth.html        )}
查看完整描述

1 回答

?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊

目前,您只是獲取 all 中的所有文本內(nèi)容<td>。并且它不會(huì)將鏈接包含在錨標(biāo)記內(nèi)。為此,您需要更深入地研究<td>.


這是使用以下方法來(lái)完成此操作的一種方法xpath:


$xpath = new DOMXpath($DOM);

$base = 'https://www.iana.org/';

foreach($Detail as $sNodeDetail)

{

    $aDataTableDetailHTML[$j][] = trim($sNodeDetail->textContent);

    if ($link = $xpath->evaluate("string(./span[contains(@class, 'domain')]/a/@href)", $sNodeDetail)) {

        $aDataTableDetailHTML[$j][] = "{$base}{$link}";

    }

    $i = $i + 1;

    $j = $i % count($aDataTableHeaderHTML) == 0 ? $j + 1 : $j;

}

基本上,查詢只是提取href當(dāng)前<td>迭代中的值<span class="domain tld"><a href="xxxx">xxx</a></span>并獲取該href值。


另一種方法是迭代每個(gè)<tr>而不是每個(gè)<td>:


$aDataTableDetailHTML = [];

$DOM = new DOMDocument();

$DOM->loadHTML($htmlContent);

$xpath = new DOMXpath($DOM);

$base = 'https://www.iana.org/';

foreach($xpath->query('//table[@id="tld-table"]/tbody/tr') as $row) {

    $domain = trim($xpath->evaluate("string(./td[1])", $row));

    $type = $xpath->evaluate("string(./td[2])", $row);

    $tld_manager = $xpath->evaluate("string(./td[3])", $row);

    $url = $xpath->evaluate("string(./td[1]/span/a/@href)", $row);

    $aDataTableDetailHTML[] = [$domain, $type, $tld_manager, "{$base}{$url}"];

}


查看完整回答
反對(duì) 回復(fù) 2023-08-06
  • 1 回答
  • 0 關(guān)注
  • 144 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)