Выделить 2 вхождения regex
Есть строка : 10.3/3.7/5.3
Как через регулярку выделить только первое и последнее значение, Только 10.3 и 5.3 Всю голову сломал Буду очень благодарен за помощь.
использовать надо для удаления этих знаков через preg_replace
Это размеры # д/в/ш, используется это в модуле загрузки товаров на сайт, и там есть вроде можно использовать только preg_replace для какой-то кастомной модификации входящих данных.
Я подумал что если использовать preg_replace (выделить все кроме первого значения) заменить на "" И останется одно значение которое я смогу грузить на сайт. Далее выделить все кроме второго значения и заменить на "" а оставшиеся значение загрузить на сайт, и после уже выделить все кроме последнего значения заменив на "" а что останется загрузить на сайт.
Ответы (2 шт):
Регулярное выражение совпадает со всей строкой и выделяет группу между слешами. Замена указывает на группу. После замены в строке остаётся только выделенная группа:
<?php
$pattern = '#.*/(.*)/.*#';
$replacement = '\\1';
$string = '10.3/3.7/5.3';
echo preg_replace($pattern, $replacement, $string);
?>
$ php replace.php 3.7
Спасибо большое за помощь. В результате собрав все мнения с разных источников решил проблему так: У нас $val = "10.3/3.7/5.3";
1) Длина: explode('/', $val)[0] // 10.3
2) Высота: explode('/', $val)[1] // 3.7
3) Ширина: explode('/', $val)[2] // 5.3