我如何获得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
有人可以解释或告诉我如何做到这一点
感谢
答案 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;
答案 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。