使用PHP解析Adf.ly URL

时间:2012-12-30 20:08:00

标签: php parse-url

我有这样的链接: http://adf.ly/2323070/http://www.fileflyer.com/view/O33TOYUAFMIFF

我想只获得这部分网址: http://www.fileflyer.com/view/O33TOYUAFMIFF

注意 URL号可以更改,因此URL的语法是: http://adf.ly/{NUMBERS}/{URL}

如何解析此网址?

谢谢! 抱歉我的英文

2 个答案:

答案 0 :(得分:2)

#https?://(www\.)?adf\.ly/\d+/(.*)#i的简单正则表达式应该可以解决问题。这也支持https:// adf.ly`(如果存在)和http://www.adf.ly。

<?php
    $url = "http://‌‌‌‌‌‌"."adf.ly/2323070/http://www.fileflyer.com/view/O33TOYUAFMIFF";
    preg_match("#https?://(www\.)?adf\.ly/\d+/(.*)#i", $url, $matches);
    var_dump($matches[2]);
?>

输出

string(43) "http://www.fileflyer.com/view/O33TOYUAFMIFF"

答案 1 :(得分:0)

#http://adf.ly/(\d+)/(.*)#i这样的正则表达式可以解决问题。例如:

<?php
$theinput = 'http://adf.ly/2323070/http://www.fileflyer.com/view/O33TOYUAFMIFF';
$regexp = '#http://adf.ly/(\d+)/(.*)#i';
if (preg_match($regexp, $theinput, $matches)) {
    echo "Number: " . $matches[1] . "<br>\n";
    echo "URL: " . $matches[2] . "<br>\n";
}
else {
    echo "No match!";
}