Использование 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]);