这是我的代码,我想获得该id的href值
function file_get_contents_curl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$str = 'someLink';
$html = file_get_contents_curl($str);
$doc = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTML('<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />' . $html);
libxml_clear_errors();
$nodes = $doc->getElementsByTagName('title');
$hrefValue = $doc->getElementById('linker');
someLink html示例:
<html>
<head>
<title></title>
</head>
<body>
<div>one</div>
<div>two</div>
<div>
<a href="link" id="linker" />LINK HERE</a>
</div>
</body>
</html>
我想获取id =“linker”的href值。我尝试使用getElementById()但它不会返回任何内容
答案 0 :(得分:2)
$nodes = $doc->getElementsByTagName('title')->item(0)->nodeValue;
$hrefValue = $doc->getElementById('linker')->getAttribute("href");
答案 1 :(得分:-1)
preg_match('/href=[\'"]?(.+?)[\'"]?.*?id=[\'"]?linker[\'"]?/si', $subject, $matches);
var_dump($matches);