Использование preg_match_all() для поиска XML в журнале в PHP

У меня есть несколько файлов журнала, которые содержат запросы и ответы EPP. Мне нужно использовать preg_match_all для возврата массива всех XML-запросов в журнале, чтобы я мог затем проанализировать XML и проверить его, однако я не слишком знаком с регулярным выражением. XML всегда должен начинаться с...

<?xml

... и заканчивается...

</epp>

Как бы я сформировал Regex, чтобы найти все, что содержится между этими идентификаторами и в том числе?

1 ответ

Решение

Вы должны использовать s флаг, в котором . также соответствует новым строкам и целой группе захвата:

preg_match_all("/(<\?xml.*?<\/epp>)/s", $content, $matches);
print_r($matches[1]);
Другие вопросы по тегам