Опитвам се да намеря множество съвпадения във фраза с регулярни изрази
Съвпадение на множество измерения в тази фраза, резултатите са прости: работеща проба тук
<?php
preg_match_all("/(\d+\.\d)(x|cm)/", "120.0x140.0x215.0cm", $out);
print_r($out);
?>
[0]=> array
[0]=>120.0x
[1]=>140.0x
[2]=>215.0cm
[1]=> array
[0]=>120.0
[1]=>140.0
[2]=>215.0
[2]=> array
[0]=>x
[1]=>x
[2]=>cm
Това, което ще използвам, е масивът $out[1]
Проблемът идва, когато се опитам да изолирам този модел от контекст, той съответства само на последната стойност: Работещ пример тук
<?php
preg_match_all("/<div>Dimensions: ((\d+\.\d)(x|cm))+<\/div>/", "<div>Dimensions: 120.0x140.0x215.0cm</div>", $out);
print_r($out);
?>
[0]=> array
[0]=><div>Dimensions: 120.0x140.0x215.0cm</div>
[1]=> array
[0]=>215.0cm
[2]=> array
[0]=>215.0
[3]=> array
[0]=>cm
Очаквам $out[2]
да съдържа множество стойности, същите като $out[1]
в първия пример
Какво ми липсва тук? Възможно ли е да го направя с регулярни изрази, обзалагам се, че може да е възможно.