Heim > Fragen und Antworten > Hauptteil
我抓取的网址是 http的。
但想抓取的链接中有https的网址 (我取的是url中的某段)
public function collect_func_zhibo(){
$data = $this->explode_html('<title>','</title>');
$var = $this->explode_html('<p class="from-site">','<p class="zhanbao">');
preg_match_all('/<p class=\"v-full\">.*?<a href=\"(.*?)\".*?>(.*?)<\/a>/is', $var,$t);
foreach($t[1] as $key=>$var){
if(strpos($t[1][$key],'qq.com')>1){
$typess = 'qq';
$arrss = explode("vid=",$t[1][$key]);
$codess = $arrss[1];
}else if。。。。。。。。。。。。。。。。
strpos 腾讯 URL的 https://v.qq.com/x/cover/ucr5uujf5ds5d8r/p0022qljz7v.html 中的
p0022qljz7v
explode的地方我知道我没写对。但写对好像也无法识别https
万分感谢。。这个问题困扰我几个月了。。希望能得到帮助。。本人才疏学浅,学艺不精 还望赐教。。多谢。。感恩
迷茫2017-04-11 09:08:41
$url = 'https://v.qq.com/x/cover/ucr5uujf5ds5d8r/p0022qljz7v.html';
$data = end(explode('/', $url));
list($fileName) = explode('.', $data);
echo $fileName;
大家讲道理2017-04-11 09:08:41
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