Получите символы после в последний раз / в URL

Вы используете lightdm? дайте gdm попытку

, sudo dpkg-реконфигурировали gdm и выбирают gdm в качестве значения по умолчанию.

я надеюсь, что это помогает любому.

115
задан Johan 6 May 2013 в 07:21
поделиться

6 ответов

Очень просто:

$id = substr($url, strrpos($url, '/') + 1);

strrpos получает позицию последнего появление косой черты; substr возвращает все, что находится после этой позиции.


Как упоминалось в redanimalwar, если косой черты нет, это работает неправильно, поскольку strrpos возвращает false. Вот более надежная версия:

$pos = strrpos($url, '/');
$id = $pos === false ? $url : substr($url, $pos + 1);
241
ответ дан 24 November 2019 в 02:21
поделиться
$str = basename($url);
45
ответ дан 24 November 2019 в 02:21
поделиться

Вы можете взорвать на основе «/» и вернуть последнюю запись:

print end( explode( "/", "http://www.vimeo.com/1234567" ) );

Это основано на разрыве строки на части, в этом нет необходимости, если вы знайте, что узор самой струны не скоро изменится. Вы также можете использовать регулярное выражение, чтобы найти это значение в конце строки:

$url = "http://www.vimeo.com/1234567";

if ( preg_match( "/\d+$/", $url, $matches ) ) {
    print $matches[0];
}
13
ответ дан 24 November 2019 в 02:21
поделиться

array_pop (explode ("/", "http://vimeo.com/1234567")); вернет последний элемент URL-адреса примера

1
ответ дан 24 November 2019 в 02:21
поделиться

Вы можете использовать substr и strrchr :

$url = 'http://www.vimeo.com/1234567';
$str = substr(strrchr($url, '/'), 1);
echo $str;      // Output: 1234567
11
ответ дан 24 November 2019 в 02:21
поделиться
$str = "http://www.vimeo.com/1234567";
$s = explode("/",$str);
print end($s);
7
ответ дан 24 November 2019 в 02:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: