php使用DOM解析器,提取HTML中的location.href的值

文章讲述了如何使用PHP和JavaScript通过DOM解析HTML文档,提取script标签中的location.href属性。展示了两个示例,一个是PHP中使用preg_match,另一个是JavaScript中的正则表达式匹配。
摘要由CSDN通过智能技术生成

出品 | 漫云科技

整理 | 赵建平

<?php
// HTML字符串
$html = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8'><title></title></head><body><script type='text/javascript'>location.href='https://www.baidu.com';</script></body></html>";

// 创建DOM解析器
$dom = new DOMDocument();

// 加载HTML
$dom->loadHTML($html);

// 查找script标签
$scripts = $dom->getElementsByTagName('script');

// 遍历所有script标签
foreach ($scripts as $script) {
    // 获取script标签的文本内容
    $scriptContent = $script->textContent;
    
    // 使用正则表达式查找location.href的值
    if (preg_match('/location\.href\s*=\s*["\'](.*?)["\'];/', $scriptContent, $matches)) {
        $locationHrefValue = $matches[1];
        echo "location.href的值是: $locationHrefValue";
    }
}
?>

打印结果:

location.href的值是: https://www.baidu.com

再附加一个js的方法

// HTML字符串
var html = '<script>var location = {href: "https://www.example.com"};</script>';

// 使用正则表达式提取location.href的值
var regex = /location\.href\s*=\s*["'](.*?)["'];/;
var matches = html.match(regex);

if (matches && matches.length > 1) {
  var locationHrefValue = matches[1];
  console.log("location.href的值是: " + locationHrefValue);
} else {
  console.log("未找到location.href的值。");
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zzoood

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值