Я пытаюсь использовать этот шаблон регулярных выражений:
$string = '<div class="className">AlwaysTheSame:</div>Subtitle <br /><span class="anotherClass">entry1</span><span class="anotherClass">entry2</span><span class="anotherClass">entry3</span>';
preg_match_all('|<div class="className">AlwaysTheSame:</div>(.*?)<br />(<span class="anotherClass">(.*?)</span>)*|', $string, $matches);
print_r($matches);
exit;
<span class="anotherClass">entry</span>
не может существовать или существует несколько раз, шаблон, кажется, соответствует ему, отлично работает как тогда, когда существует, так и когда его нет, но вывод:
Array
(
[0] => Array
(
[0] => <div class="className">AlwaysTheSame:</div>Subtitle <br /><span class="anotherClass">entry1</span><span class="anotherClass">entry2</span><span class="anotherClass">entry3</span>
)
[1] => Array
(
[0] => Subtitle
)
[2] => Array
(
[0] => <span class="anotherClass">entry3</span>
)
[3] => Array
(
[0] => entry3
)
)
Array [0] [0] содержит полную строку, поэтому она соответствует всем, что мне нужно, но в Array [2] и [3] я получаю только последний <span...
Как я могу получить все эти <span...
в выходном массиве, а не только последний?