我有一个这样的链接:
http://adf.ly/2323070/http://www.fileflyer.com/view/O33TOYUAFMIFF
我只想获取 URL 的这一部分:
http://www.fileflyer.com/view/O33TOYUAFMIFF
注意
URL 编号可以更改,因此 URL 的语法为:
http://adf.ly/{NUMBERS}/{URL}
如何解析此 URL?
谢谢!对不起我的英语
一个简单的正则表达式#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"
像这样的正则表达式#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!";
}