Извлечь определенную часть строки в PHP - PullRequest
4 голосов
/ 25 июня 2010

Мне было просто интересно, что будет самым простым и эффективным способом извлечения определенной части динамической строки в PHP?

Например, в этой строке:

http://www.dailymotion.com/video/xclep1_school-gyrls-something-like-a-party_music#hp-v-v13

Я хотел бы только извлечь (и вставить в переменную): "xclep1_school-gyrls-нечто-like-a-party_music".

Основная цель - взять эту часть, вставить ее по этому адресу: http://www.dailymotion.com/thumbnail/160x120/video/xclep1_school-gyrls-something-like-a-party_music, чтобы я мог захватить миниатюру извне.

Извините, если это вопрос "новичка", и большое спасибо за ваше время. Любая ссылка / код / ​​php ссылка приветствуется.

Ответы [ 4 ]

12 голосов
/ 25 июня 2010

Попробуйте parse_url через регулярное выражение:

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

$ сегментов будет массивом, содержащим все сегменты информации о пути, например,

Array
(
    [0] => 
    [1] => video
    [2] => xclep1_school-gyrls-something-like-a-party_music
)

Так что вы можете сделать

echo $segments[2];

и получите

`xclep1_school-gyrls-something-like-a-party_music`
3 голосов
/ 25 июня 2010

Одно из следующего:

preg_match('~/[^/]*$~', $str, $matches);
echo $matches[0];

Или:

$parts = explode('/', $str);
echo array_pop($parts);

Или:

echo substr($str, strrpos($str, '/'));
2 голосов
/ 25 июня 2010

Функция parse_url () и извлечение пути.Взорвись на '/' и получи последний элемент

1 голос
/ 25 июня 2010

Попробуйте это

$url = $_SERVER['REQUEST_URI'];
$parsed_url = parse_url($url);
$url_parts = explode('/',$parsed_url['path']);
print_r($url_parts);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...