获得网址的某个部分

时间:2014-03-03 16:31:31

标签: php parse-url

我如何获得URL的某个部分我已经搜索过谷歌并阅读了一些教程但似乎无法理解它可能有人可以通过以下示例向我展示。

这是我的代码

<?php

include "simple_html_dom.php";

$title = "fast";

$html = file_get_html("http://www.imdb.com/find?q=".urlencode($title)."&s=all");
$element = $html->find('[class="result_text"] a', 1);
$link = $element->href;
echo $link;

// Clear dom object
$html->clear(); 
unset($html);

?>

现在这个回声

/title/tt0109772/?ref_=fn_al_tt_2

但我只想要imdb id。

tt0109772

有人可以解释或告诉我如何做到这一点

感谢

5 个答案:

答案 0 :(得分:1)

如果它始终是子目录:

echo basename(dirname($link));

答案 1 :(得分:1)

您可以使用explode()

$str = "/title/tt0109772/?ref_=fn_al_tt_2"; 
$arrUrl = explode("/",$str);
$id = $arrUrl[2];
echo $id;

demo

答案 2 :(得分:0)

您可以使用explode之类的:

$parts = explode("/", $url);

这会将URL拆分为数组。然后检查你想要的索引..并得到它:

$id = $parts[3];

您可以使用以下代码进行调试:print_r($parts);

答案 3 :(得分:0)

不是最优雅的方式,但

$link = '/title/tt0109772/?ref_=fn_al_tt_2';
$imdb_id = explode('/', $link);
$imdb_id = $imdb_id[2];
echo $imdb_id;

会工作。

答案 4 :(得分:0)

尝试以下代码:(source

$path = parse_url($url, PHP_URL_PATH);
$segments = explode('/', $path);

然后我认为您需要$segments[1]来获取IMDB ID。