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

  • Автор темы Автор темы psh
  • Дата начала Дата начала

psh

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

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

Ничего не находит, хотя есть.
Может в регэксп ошибка.
Помоги те плиз.
Заранее спасибо, psh.
 
в конце регекспа комбинация символов
> ) - должна быть без пробела. Это форум что-то лишнее вставляет :(
Кстати возможно вместо
.+? лучше писать
[^><]+?
 
Re: Текст между тагами

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