【发布时间】:2021-11-30 07:15:50
【问题描述】:
嗨,我正在尝试使用正则表达式从标签中 scrape href 链接,但我无法检索链接,有人可以帮我实现这一点吗?这是我想从中提取的链接html页面。 /u/0/uc?export=download&confirm=EY_S&id=fileid这是我的php函数
<?php
function dwnload($url)
{
$scriptx = "";
$internalErrors = libxml_use_internal_errors(true);
$dom = new DOMDocument();
@$dom->loadHTML(curl($url));
foreach ($dom->getElementsByTagName('a') as $k => $js) {
$scriptx .= $js->nodeValue;
}
preg_match_all('#\bhttps?://[^,\s()<>]+(?:\([\w\d]+\)|([^,[:punct:]\s]|/))#', $scriptx, $match);
$vlink = "";
foreach ($match[0] as $c) {
if (strpos($c, 'export=download') !== false) {
$vlink = $c;
}
}
return $vlink;
}?>
谢谢
【问题讨论】:
-
我看到你的代码并且明白 $scriptx 是一个巨大的变量并且你想要正确的块......但是你正在循环 $match[0] 这应该是可能的......怎么样循环比赛...还有谁向你保证你得到的块是完整的 url?! -- 在运行之前打印您的响应值,例如 $c ... $match[0] 应该是字符串而不是数组。