从curl响应中提取URL

时间:2014-12-16 07:03:49

标签: php split preg-match

我从PHP curl请求得到以下响应:

function ___QBy1sZI() {
  YmI = 5849562624174926";
  kNO = "http://download2.website.com/ce0zbkpbzmzg/2g7xednxqx4m11f/blabla.rar";
  output = "";
  for(i=0; i<YmI.length; i+=2){
  output = output + String.fromCharCode( (128+ ( parseInt("0x"+YmI.substr(i, 2)) -           kNO.charCodeAt(0) )) % 128 );
}
return output;
}

我想从响应中提取URL:

http://download2.website.com/ce0zbkpbzmzg/2g7xednxqx4m11f/blabla.rar

谁能告诉我最好的方法是什么?我使用过preg_match但似乎很慢。

1 个答案:

答案 0 :(得分:0)

如果你说preg_match()“慢”,我只能想象你错了它。

尝试以下模式:

/kNO = "(.*)";/

匹配组[1]将包含网址。

示例:

$string = <<<EOF
function ___QBy1sZI() {
  YmI = 5849562624174926";
  kNO = "http://download2.website.com/ce0zbkpbzmzg/2g7xednxqx4m11f/blabla.rar";
  output = "";
  for(i=0; i<YmI.length; i+=2){
  output = output + String.fromCharCode( (128+ ( parseInt("0x"+YmI.substr(i, 2)) -           kNO.charCodeAt(0) )) % 128 );
}
return output;
}
EOF;

preg_match('/kNO = "(.*)";/', $string, $matches);
echo $matches[1];