php - 这个问题困扰很久 strpos 遇到https

 mobiledu2502863483 发布于 2022-11-16 03:08
2 个回答
  • var htmltext = "asdfjasdajfkasl<a src='https://www.baidu.com/abc.html' ></a>adafdsdf";
            //捕获组表达式
            var zhengze = /<a[^>\/>]*src=[\'\"]https\:\/\/[^\'\"]+\/([^\'\"\/]+\.(?:html|htm))[\'\"][^>\/>]*(?:>|\/>)/gi;
            //验证表表达式
            var zhengzes = /<a[^>\/>]*src=[\'\"]https\:\/\/[^\'\"]+\/([^\'\"\/]+\.(?:html|htm))[\'\"][^>\/>]*(?:>|\/>)/i;
            if (zhengzes.test(htmltext)) {
                var shuchu = htmltext.match(zhengze); 
                var zifu = "";
                var ss = "";
                console.log(shuchu);
                for (var i = 0; i < shuchu.length; i++) {
                    //当符合结果只有一个时,并且正则表达式中包含捕获组时 exec与match的执行结果相同【第一部分为匹配字符串】【第二部分为捕获组字符串】
                    zifu += zhengzes.exec(shuchu[i])[1] + ",";
                    // zifu += shuchu[i].match(zhengzes)[1] + "\r\n";
    
                }
                console.log(zifu);
               // return zifu.substring(0, zifu.length - 1);
            }
            else {
                console.log("false");
              //  return '0';
            }

    用javascript写的,但是正则是一样的你可以替换一下试试
    我这输出结果为 abc.html

    2022-11-16 03:53 回答
  • $url = 'https://v.qq.com/x/cover/ucr5uujf5ds5d8r/p0022qljz7v.html';
    $data = end(explode('/', $url));
    list($fileName) = explode('.', $data);
    echo $fileName;
    2022-11-16 03:53 回答
撰写答案
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有