Текст между тагами

psh

Guest
Текст между тагами

Здраствуйте.
Есть текст в базе данных.
Вытягиваю его запросом, затем нужно вытянуть все фрагменты между тагами <popup>..</popup>
Делаю:
preg_match_all("~<popup>([^>]+?)</popup>~","$row[0]", $matches,PREG_SET_ORDER);

Ничего не находит, хотя есть.
Может в регэксп ошибка.
Помоги те плиз.
Заранее спасибо, psh.
 

Макс

Старожил PHPClub
в конце регекспа комбинация символов
> ) - должна быть без пробела. Это форум что-то лишнее вставляет :(
Кстати возможно вместо
.+? лучше писать
[^><]+?
 

SiMM

Новичок
Re: Текст между тагами

Автор оригинала: psh
Есть текст ... нужно вытянуть все фрагменты между тагами <popup>..</popup>
Делаю:
preg_match_all("~<popup>([^>]+?)</popup>~","$row[0]", $matches,PREG_SET_ORDER);
Ничего не находит, хотя есть.
Если между тэгами может ничего не быть или имеются другие тэги и/или стринги могут быть многострочными и/или регистр может быть различным - то правильно делает, что не находит. Попробуй рэгексп ~<popup>(.*?)</popup>~si - указания жадности должно быть более чем достаточно (если тэги <popup> не могут быть вложены друг в друга). Вариант, думаю, более понятный для новичка :)
 

Altex

Новичок
SiMM
твоё решение для другой задачи, мне кажется что первый ответ более точно подходит для этой задачи
 
Сверху