X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> substr, strlen etc...
Jurager
Jurager
Topic Starter сообщение 16.12.2010, 13:42; Ответить: Jurager
Сообщение #1


Есть строка

[PHP]$a = 'http://cs4842.vkontakte.ru/u40649660/audio/f9326f700f1e.mp3';[/PHP]

Мне из нее нужно извлечь 4842 , 40649660 и f9326f700f1e

Учитывая то что ссылки будут менятся я выяснил что номера серверов так и остаются по четыре символа следовательно просто вывел эти цифры.

[PHP]$server = substr($a, 9, 4); [/PHP]

А вот с пользователем заморочка вышла тут количество цифр меняется, мне нужно получить число с u по знак слэша / как это можно сделать? strlen пробовал но ничего не выходит.

То же самое с именем файла нужно получить число после последнего слэша и до .mp3

Как такое можно организовать? Прошу отвечать существенно, пожалуйста, потому что особо в этих strlen substr и тд... не шарю
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 16.12.2010, 13:46; Ответить: Webmaster_hb
Сообщение #2


используйте preg_match_all
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Jurager
Jurager
Topic Starter сообщение 16.12.2010, 13:55; Ответить: Jurager
Сообщение #3


спасибо немного прояснятся начинает, но все же, не могли бы показать небольшой пример применимый к моему коду?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Jurager
Jurager
Topic Starter сообщение 16.12.2010, 14:16; Ответить: Jurager
Сообщение #4


(Webmaster_hb @ 16.12.2010, 15:46) *
используйте preg_match_all


почитал немного о preg_match_all но не понял как это можно связать с substr вроде preg_match_all ищет уже заданные символы и тп. а мне нужно получить неизвестное число, вообщем нифига не понял, с php работаю относительно недавно :(
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Albatros
Albatros
сообщение 16.12.2010, 14:41; Ответить: Albatros
Сообщение #5


Вот мысль вебмастера в развёрнутом виде:
[PHP]$a = 'http://cs4842.vkontakte.ru/u40649660/audio/f9326f700f1e.mp3';
$pattern = '|http://cs(\d+)\.vkontakte.ru/u(\d+)/audio/([^.]+)\.mp3|';
if(preg_match($pattern, $a, $match)){
$server = $match[1];
$user = $match[2];
$file = $match[3];
};[/PHP]

Надеюсь без ошибок написал.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Jurager
Jurager
Topic Starter сообщение 16.12.2010, 14:52; Ответить: Jurager
Сообщение #6


(Albatros @ 16.12.2010, 16:41) *
Вот мысль вебмастера в развёрнутом виде:
[PHP]$a = 'http://cs4842.vkontakte.ru/u40649660/audio/f9326f700f1e.mp3';
$pattern = '|http://cs(\d+)\.vkontakte.ru/u(\d+)/audio/([^.]+)\.mp3|';
if(preg_match($pattern, $a, $match)){
$server = $match[1];
$user = $match[2];
$file = $match[3];
};[/PHP]

Надеюсь без ошибок написал.


Спасибо огромное! Это то что нужно. Получилось даже лучше чем я думал, просто с этими substr и прочими как то заморочено выходит (высчитывать положение символа, потом количество символов, а для этого использовать отдельную функцию)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 17.12.2010, 10:53; Ответить: ZhukV
Сообщение #7


Так же желательно, если мы знаем конец и начало строки, то передавать это для регулярки, в результате, меньше времени:
[PHP]$pattern = '/^http:\/\/cs(\d+)\.vkontakte.ru/u(\d+)/audio/([^\.]+)\.mp3$/';[/PHP]
Просто на работе, вечно ловим втык, что не оптимизируем все так, как нужно.. =(
+ в предыдущей регулярки есть маленькие ошибки. =)

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Affstream - Эксклюзивные офферы на India, Brazil, Latin America, Bangladesh, Africa, etc
Закрытый доступ к новым офферам на тиер 2-3 страны
0 affstream 962 16.3.2023, 15:11
автор: affstream
Горячая тема (нет новых ответов) Бурж ссылки с нишевых сайтов | DA 20+, PA 20+ | ENG, GER, ESP, FRA, IT, etc
29 KKO 17178 17.2.2022, 16:45
автор: KKO
Открытая тема (нет новых ответов) Cryptomoney.pro -BTC-Eth-Zec-Etc-XMR-VISA.Master Card и многое другое
Осуществляем быстрые обмены криптовалюты на все банки РФ
12 cryptomoneypro 4881 29.7.2020, 12:57
автор: cryptomoneypro
Горячая тема (нет новых ответов) Biggico - надежная CPA партнерка | Gambling, Trading, Forex, Casino, etc офферы
32 biggico-network 4555 3.6.2019, 17:34
автор: biggico-network
Открытая тема (нет новых ответов) Cryptoobmennik.com - Обмен BTC/ETC/ETH/XRP/IOTA/TRON/BTG/Cardano/Сбербанк/Приват банк
2 Криптообмен 3569 26.10.2018, 10:40
автор: Криптообмен


 



RSS Текстовая версия Сейчас: 25.4.2024, 10:15
Дизайн