Получение определенной части URL

Как я могу получить определенную часть URL-адреса, который я искал в Google и прочитал несколько учебных пособий, но, кажется, не могу прийти в голову, может быть, кто-то может показать мне из примера ниже.

Вот мой код

<?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 ответов

Решение

Если это всегда subdir:

echo basename(dirname($link));

Ты можешь использовать explode():

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

демонстрация

Ты можешь использовать explode лайк:

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

Это разделит URL на массив. Затем проверьте, какой индекс вы хотите.. и получите его так:

$id = $parts[3];

Вы можете отладить с помощью: print_r($parts);

Не самый элегантный способ, но

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

Буду работать.

Попробуйте этот код: ( источник)

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

Тогда я думаю, что вам нужно $segments[1] чтобы получить идентификатор IMDB.

Другие вопросы по тегам