美好的一天。
我有链接http://vk.com/id98429809?z=photo98429809_299166823%2Falbum98429809_0%2Frev
请告诉我如何获取:
$id=$arr['id']; // $id = 98429809
$type=$arr['type']; // $type= photo
$num=$arr['num']; // $num= 299166823
请告诉我如何爆炸链接并获取此信息?
答案 0 :(得分:0)
试试这个,
<?php
$str='photo98429809_299166823';
$arr=explode('_',$str);
$num=$arr[1]; // $num= 299166823
preg_match('/^[a-z]+/i', $arr[0], $m);
$type=$m[0];
$id=str_replace($type,"",$arr[0]);
$num=$arr[1];
echo '<br/>';
echo $id;
echo '<br/>';
echo $type;
echo '<br/>';
echo $num;
?>
上进行测试
答案 1 :(得分:0)
$url = "http://vk.com/id98429809?z=photo98429809_299166823%2Falbum98429809_0%2Frev";
if (preg_match('#=([^\d]+)([\d]+)_([\d]+)#', $url, $matches)) {
$id = $matches[2];
$type = $matches[1];
$num = $matches[3];
}
答案 2 :(得分:0)
尝试一下,我认为这对你来说很容易和有用。
$str=$_GET["z"];
$arr['type']=substr($str,0,5) ;
$arr['id']=substr($str,5,8) ;
$arr['num']=substr($str,14,3) ;
echo $arr['id']." ".$arr['type']." ".$arr['num'];
答案 3 :(得分:0)
所有链接的通用答案vk.com
if(substr_count($link,"photo")>0){
$type='photo'; $arg='photo';
}
elseif(substr_count($link,"video")>0){
$type='video'; $arg='video';
}
elseif(substr_count($link,"id")>0){
$type='id'; $arg='id';
}
else{
$type='id'; $arg='/';
}
$arr1=explode($arg,$link);
if($arg=='photo'){
$arr2=explode($arg,$arr1[1]);
$arr3=explode('_',$arr2[0]);
$id=$arr3[0];
$item_id=substr($arr3[1],0,9);
}
elseif($arg=='video'){
$arr2=explode($arg,$arr1[1]);
$arr3=explode('_',$arr2[0]);
$id=$arr3[0];
$item_id=substr($arr3[1],0,9);
}
elseif($arg=='id' || $arg=='/'){
$id=$arr1[1];
$item_id=$arr1[1];
}
echo $link;
echo '<br>id = '.$id.'<br>item_id = '.$item_id;
代码很大,但他适用于所有链接
感谢大家的帮助!