Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > регулярное выражение


Автор: Frozen_Coyote 17.2.2015, 14:40
Здравствуйте, помогите плиз регулярку составить, не получается. Задача:

есть к примеру строка
Код

$str = "<img /><div><img /></div><p><img /></b><img /> ";


в результате нужно получить <img />, НО только те, которые не вложены в div. Т.е. любые картинки уместны, кроме вложенных в div (само собой, уровень вложенности в div может быть любой, соответственно такие варианты так же исключаются)

Автор: sQu1rr 18.2.2015, 14:51
Пожалуйста глянтье сюда, тут вы получите довольно детальный ответ: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454

Автор: baldina 18.2.2015, 15:59
Frozen_Coyote, можно использовать DOMDocument, типа
Код

foreach ($dom->getElementsByTagName('img') as $node) {
    if (strpos ($node->getNodePath(), 'div/') === false) {
        // ...
    }
}

Автор: Frozen_Coyote 21.2.2015, 15:08
спасибо большое )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)