Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Регулярное выражение + условие

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
byfahrenheit
Отправлено: 16 Сентября, 2012 - 14:59:05
Post Id



Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




Здравствуйте.
Помогите пожалуйста составить условие:
необходимо отделить изображения, которые находятся в спойлере и вне спойлера.
т.е. есть строка. В строке есть изображение. Оно может быть под спойлером:
CODE (htmlphp):
скопировать код в буфер обмена
  1. [spoiler="описание"] какой-то текст [img]Картинка[/img][/spoiler]

и вне спойлера
CODE (htmlphp):
скопировать код в буфер обмена
  1. какой-то текст [img]Картинка[/img]


Необходимо составить регулярки и условие, вроде этого:
PHP:
скопировать код в буфер обмена
  1.  
  2. if([если картинка ПОД спойлером]){
  3. $a = 1;
  4. }elseif([если картинка ВНЕ спойлера]){
  5. $a = 2;
  6. }
  7.  


Понимаю, что вопрос глупый, но я пока не разобрался с регулярными выражениями, и самостоятельно составить правильное решение - не могу. Заранее благодарю за помощь!
 
 Top
armancho7777777 Супермодератор
Отправлено: 16 Сентября, 2012 - 19:43:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




PHP:
скопировать код в буфер обмена
  1. $text = '
  2. [spoiler="описание"] какой-то текст [/spoiler]
  3. [img]Картинка[/img]
  4. ';
  5.  
  6. if(preg_match('~\[/spoiler\].*\[img\]~si', $text))
  7. {
  8.     echo 'Под спойлером!';     
  9. }
  10. else
  11. {
  12.     echo 'В спойлере!';
  13. }
  14.  

?
Не проверял.
 
 Top
byfahrenheit
Отправлено: 16 Сентября, 2012 - 20:22:49
Post Id



Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




Спасибо. На примере работает, а как подставляю в парсер форума vbulletin, отказывается работать...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB