index.php文件中有如下代码:
<?php
$url='http://b.mashort.cn/h.SkjNu?sm=bf19c7';
 
$ch = curl_init();
 
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
 
echo $file_contents;?> 执行后在源代码中查看包含有:
     //目标地址
     var url = 'http://a.m.taobao.com/i524938771294.htm?price=350&sourceType=item&sourceType=item&ut_sk=1.VDYvsXdcPXADAEN6HGlU0RyZ_12278902_1452054303278.Copy.1&un=aebff7260eab2894bbeeeafdb2768e28&share_crt_v=1&cpp=1'; 我现在想通过正则表达式或其它的方式获取到"524938771294"这个数值并输出,请教高手帮助解决。

解决方案 »

  1.   

    正则  :"/^.*\/\i([0-9]+).*$/"  结果: 
    array (size=2)
      0 => string 'http://a.m.taobao.com/i524938771294.htm?price=350&sourceType=item&sourceType=item&ut_sk=1.VDYvsXdcPXADAEN6HGlU0RyZ_12278902_1452054303278.Copy.1&un=aebff7260eab2894bbeeeafdb2768e28&share_crt_v=1&cpp=1' (length=200)
      1 => string '524938771294' (length=12)
      

  2.   

    $url='http://b.mashort.cn/h.SkjNu?sm=bf19c7';
     
    $ch = curl_init();
     
    $timeout = 5;
    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $file_contents = curl_exec($ch);
    curl_close($ch);
     
    preg_match("#var url = 'http://a.m.taobao.com/i(\d+)#", $file_contents, $matches);
    echo $matches[1];524938771294