我在Laravel上设置了代码。这是在进行dns验证,我想验证我想要的meta标签中的特定字段。
示例代码
public function verifyDomainDns()
{
$fqdn = sprintf('%s.%s', $this->getVerificationTxtName(), $this->name);
$results = collect(dns_get_record($fqdn, DNS_TXT));
$results = $results->where('type', 'TXT')
->where('txt', $this->verification_token);
$this->domain_verified = $results->isEmpty() ? self::UNVERIFIED : self::VERIFIED;
$this->save();
}
verification_token自动在数据库中注册的号码
我要验证的元标记。
<meta name="book" content="verification_token" />
答案 0 :(得分:0)
您的代码已经在执行什么操作与您想要执行的操作之间没有关联。
一种实现此目的的方法是使用类似file_get_contents()
的形式获取URL的内容,这将导致您获取URL的HTML内容。
一旦有了这个,就可以使用DOMXpath
之类的东西来解析它并获取meta标签的内容。
$html = file_get_contents('https://example.com');
$dom = new DomDocument();
$dom->loadHTML($html);
$xpath = new DomXPath($dom);
$contents = $xpath->query('/html/head/meta[@name="book"]/@content');
if ($contents->length === 0) {
echo 'No tag found';
} else {
foreach ($contents as $content) {
echo $content->value;
}
}