введите код сюда
Я пытаюсь получить ID по ссылке:
www.imdb.com/title/tt5807628/ - > tt5807628
Мой код в JavaScript:
var str = "www.imdb.com/title/tt5807628/";
var n = str.search("e/tt");
var res = str.substring(n+2, n+30);
var ukos = res.search("/");
var last = res.substring(0, ukos);
Я хотел бы получить такой же эффект в PHP, как это сделать?
На основании моего комментария Вот, следующий код просто даст вам идентификатор:
$id = explode("/", "www.imdb.com/title/tt5807628/")[2];
Мы используем explode(delimiter, string)
здесь функция разбивает строку в каждом слэше, что создает индекс строк, который выглядит следующим образом:
array (
0 => "www.imdb.com"1 => "title"2 => "tt5707627")
Итак, как вы можете видеть индекс массива 2
наш идентификатор, поэтому мы выбираем это после того, как мы разбиваем строку (которая является [2]
в конце объявления переменной), оставляя нас с переменной $id
который содержит только идентификатор из ссылки.
редактировать:
Вы также можете использовать parse_url перед разнесением, просто чтобы убедиться, что
Вы не сталкиваетесь с http (s): //, если ссылка изменяется из-за пользовательского ввода.
— Кея
$id = explode("/", parse_url("www.imdb.com/title/tt5807628/", PHP_URL_PATH))[2];
С помощью функции разнесения вы можете увидеть каждую часть, просматривая массив
$varArray = explode( '/', $var );
Ты можешь использовать preg_match также:
preg_match('~www\.imdb\.com/title/([^/]*)/~', 'www.imdb.com/title/tt5807628/', $matches);
$id = $matches[1];