@banny_name

Как найти регуляркой все что между тегов?

есть строка:
<w:body>
<w:body>
	<w:p>
		<w:pPr>
			<w:pStyle w:val="Style19"/>
			<w:jc w:val="center"/>
		</w:pPr>
		<w:r>
			<w:rPr>
				<w:b/>
				<w:bCs/>
				<w:i/>
				<w:iCs/>
				<w:sz w:val="144"/>
				<w:szCs w:val="144"/>
				<w:lang w:val="en-US"/>
			</w:rPr>
			<w:t>ONE!</w:t>
			<w:br/>
			<w:t xml:space="preserve"> {NUM}</w:t>
		</w:r>
		<w:r></w:r>
	</w:p>
</w:body>


Нужно достать все внутри w:body и все чт внутри body

вот моя регулярка:
preg_match('/<w:body>(<w:p>(.*)<\/w:p>)<\/w:body>/i',$string,$matches);


Но ничего не выходит...
Вот результат matches:
array(0) {
}
  • Вопрос задан
  • 1173 просмотра
Решения вопроса 2
@Aves
Регулярка пробелы не учитывает, либо добавить их в регулярку, либо предварительно удалить. Ну и флаг s нужен скорее всего еще будет.
Ответ написан
27cm
@27cm
TODO: Написать статус
preg_match('/<w:body>.*(<w:p>(.*)<\/w:p>).*<\/w:body>/is', $string, $matches);

https://regex101.com/r/hA6aE3/1
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
DrunkMaster
@DrunkMaster
/<w:body>(.*?)<\/w:body>/
Чё-то простого body я тут не вижу, но так же...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы