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

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

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

 

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

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

тема: Помогите доделать рег. выражение preg_match_all
 
 автор: Sl   (25.11.2008 в 12:25)   письмо автору
 
 

есть строка например:


[size=24:Ikk431sArS]текст[/size:Ikk431sArS]
[img=right:Ikk431sArS]http://url[/img:Ikk431sArS]
[b:Ikk431sArS]Год выпуска[/b:Ikk431sArS]: 2008
[b:Ikk431sArS]Скриншоты[/b:Ikk431sArS]: 
[spoiler:Ikk431sArS="открыть"][img:Ikk431sArS]http://url[/img:Ikk431sArS][/spoiler]


Мне нужно выловить все http ссылки заключенные в теги [img]

Но тут есть проблема. Мне нужно выловить все между

[img=right:Ikk431sArS]http://url[/img:Ikk431sArS]
и
[img:Ikk431sArS]http://url[/img:Ikk431sArS]


Я составил выражение чтобы вытаскивались все ссылки с [img:Ikk431sArS]


preg_match_all('#\[img:.*?\](.*)\[/img:\w+]#xi', $string, $p);

Но как поставить условие "ИЛИ" чтобы ссылки искались и тут тоже [img=right:Ikk431sArS] Нужно объединить все это в одно рег. выражение

  Ответить  
 
 автор: AcidTrash   (25.11.2008 в 12:34)   письмо автору
 
   для: Sl   (25.11.2008 в 12:25)
 

 preg_match_all('#\[img[^\]]*\](.*)\[/img:\w+]#xi', $string, $p);

  Ответить  
 
 автор: Sl   (25.11.2008 в 13:06)   письмо автору
 
   для: AcidTrash   (25.11.2008 в 12:34)
 

спасибо

  Ответить  
 
 автор: xx77   (25.11.2008 в 12:43)   письмо автору
 
   для: Sl   (25.11.2008 в 12:25)
 

preg_match_all('#\[img(?:=right)?:[^\]]*\](.*?)\[/img:[^\]]*\]#xi', $string, $p);

наверное просто нужно учитывать возможность присутствия =right или =\w+
, если я правильно понял вопрос

// или как предложено не обращать внимание на ":"

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

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