@Tannenfels

Как забрать значение xml тэга с помощью preg_match?

Мне приходит в xml одно числовое значение в виде либо
...
<factor>1234</factor>
...

либо
...
<Reference type="0">1234</Reference>
...


Мне нужно забрать это число, и забрать крайне желательно одной регуляркой.
проблема следующего кода
preg_match('/<factor>(\d+)<\/factor>|<Reference type="\d+">(\d+)<\/Reference>/', $response, $matches);

в том, что он в $matches[1] записывает только значение из factor, а в $matches[2] только из reference (при том что эти два тэга никогда не встречаются в одном и том же xml документе). Мне крайне желательно, чтобы в обоих случаях запись шла только в $matches[1]
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
@Tannenfels Автор вопроса
Сам решил:
<(?>factor|Reference type="\d+")>(\d+)<\/(?>factor|Reference)>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы