Показать сообщение отдельно
  #4 (permalink)  
Старый 08.10.2016, 19:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Ничего вы не перебираете, просто будет дан ответ о наличии совпадений, а что в чем неизвестно. Проверяйте, изменяя текст:

$s = 'aasdf <div><p>dd
fghfg
dfgdf</p></div> jkfdf
aasdf <blockquote>
<p>dd
fghfg
dfgdf</p> </blockquote>jkfdf';

echo preg_match('/<div>.*?<p>.+<\/p>.*?<\/div>|<blockquote>.*?<p>.+<\/p>.*?<\/blockquote>/s', $s) ? 1 : 0;


Не понятна цель проверки (проверка корректности вложения, либо просто найти), но скорее лучше найти парные теги div и blockquote, а затем проверив в них наличие параграфа, тогда еще можно ответить на вопрос какой параграф во что вложен. Искать параграф в окружении тоже можно, но будет сложнее. И нужен модификатор s, так как в окружении могут быть и переводы строк, без модификатора m.
Ответить с цитированием