-1

私はそのようなリンクを持っています: 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を解析するにはどうすればよいですか?

ありがとう!私の英語でごめんなさい

4

2 に答える 2

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"

于 2012-12-30T20:14:04.110 に答える
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!";
}
于 2012-12-30T20:13:41.583 に答える