You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PHP从HTML页面中提取符合指定特征的特定链接

你的代码存在两个核心逻辑错误,导致无法提取到目标链接:

  • 遍历a标签时提取的是nodeValue(即a标签的可见文本内容),而非存储链接的href属性
  • 所用正则仅匹配http/https开头的绝对链接,但你需要的目标链接是/u/0/uc开头的相对路径,自然无法被正则命中

修正后的可运行代码如下:

<?php
function dwnload($url)
{
    $internalErrors = libxml_use_internal_errors(true);
    $dom = new DOMDocument();
    @$dom->loadHTML(curl($url));
    $vlink = "";
    foreach ($dom->getElementsByTagName('a') as $a) {
        // 直接提取a标签href属性
        $href = $a->getAttribute('href');
        // 匹配目标链接特征
        if (strpos($href, 'export=download') !== false) {
            $vlink = $href;
            // 找到目标后可提前终止遍历,不需要则删除本行
            break;
        }
    }
    // 若需要转为绝对链接,可在此处拼接站点域名前缀,示例:$vlink = 'https://你的目标站点域名' . $vlink;
    // 恢复libxml错误配置
    libxml_use_internal_errors($internalErrors);
    return $vlink; 
}
?>
  • 如果你需要匹配多个符合条件的链接,删除代码中的break,用数组存储所有匹配结果即可。

内容的提问来源于stack exchange,提问作者Dinesh chandra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 20:54:03