Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Разбивка ссылки по шаблону
 
 автор: Proger   (29.08.2008 в 00:42)   письмо автору
 
 

Получаю в текстовое поле ссылку и мне нужно выбить из неё 3 числа...
ссылка вида:

site.ru/3/photo/p9-24/

Мне нужно 3, 9, 24 в виде отдельных переменных, чтобы по ним сделать опр. действия. Ссылка "жесткая", никаких изощерённостей не надо. Просто я не силён в регулярках. Заранее спасибо!

  Ответить  
 
 автор: Proger   (01.09.2008 в 20:46)   письмо автору
 
   для: Proger   (29.08.2008 в 00:42)
 

Обыскался, но по поиску не нашел ничего похожего, помогите кто-нибудь! ;)

  Ответить  
 
 автор: Trianon   (01.09.2008 в 21:19)   письмо автору
 
   для: Proger   (29.08.2008 в 00:42)
 

<?
$pattern 
'|^site\.ru/(\d+)/photo/p(\d+)-(\d+)/$|';
$text 'site.ru/3/photo/p9-24/';
if(
preg_match($pattern$text$out))
{
  list(, 
$a$b$c) = $out;
  print(
"$a-$b-$c");
}

  Ответить  
 
 автор: Proger   (01.09.2008 в 22:52)   письмо автору
 
   для: Trianon   (01.09.2008 в 21:19)
 

Спасибо огромное!

  Ответить  
 
 автор: xx77   (02.09.2008 в 23:10)   письмо автору
 
   для: Proger   (01.09.2008 в 22:52)
 

то-же самое немного с другими нюансами можно получит при помощи sscanf()
<?
$text 
'site.ru/3/photo/p9-24/';
sscanf($text"site.ru/%d/photo/p%d-%d"$a$b$c); 
 print 
"$a-$b-$c"

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования