Использование DomXml является предпочтительным вариантом, поскольку он не ограничивает вас в поиске других тегов / данных.
Но использование регулярных выражений делает намного меньше кода, поэтому я бы выбрал preg_match_all, если эти теги - единственное, что вам нужно.
$string = '<?xml version="1.0"?>
<root>
<w:t>some data...</w:t>
<not-captured>data data</not-captured>
<w:t>more data...</w:t>
</root>
</xml>';
preg_match_all('/<w\:t>.*<\/w\:t>/is', $string, $matches);
var_dump($matches);
Ответ:
array(1) {
[0]=>
array(2) {
[0]=>
string(23) "<w:t>some data...</w:t>"
[1]=>
string(23) "<w:t>more data...</w:t>"
}
}
Редактировать: / добавлен модификатор в регулярное выражение