javascript — Подстрока js в переполнении стека

введите код сюда
Я пытаюсь получить 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, как это сделать?

1

Решение

На основании моего комментария Вот, следующий код просто даст вам идентификатор:

$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];
1

Другие решения

С помощью функции разнесения вы можете увидеть каждую часть, просматривая массив

$varArray = explode( '/', $var );
0

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

preg_match('~www\.imdb\.com/title/([^/]*)/~', 'www.imdb.com/title/tt5807628/', $matches);

$id = $matches[1];
0