Я пытаюсь найти несколько совпадений во фразе с помощью регулярных выражений
Сопоставление нескольких параметров в этой фразе дает простой результат: рабочий образец здесь
<?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]
в первом примере.
Что мне здесь не хватает? Могу ли я сделать это с помощью регулярных выражений, я уверен, что это возможно.