Задать вопрос
@neborg

Как укоротить регулярное выражение?

На входе имею примерно такое число 73353/10000 или 345656/10000
число может быть любое, но на выходе должно получится 73.35 ил 34.56 то есть первые четыре цифры.
Есть рабочий код но мне кажется он слишком сложный, можно ли как нибудь укоротить запись.
<?php
$subject = "23456/10000";
$pattern = '/[0-9]/';
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 0);
$z = $matches['0']['0'];
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 1);
$x = $matches['0']['0'];
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 2);
$c = $matches['0']['0'];
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
$v = $matches['0']['0'];
$b=$z.$x.'.'.$c.$v;
echo $b;
?>
  • Вопрос задан
  • 55 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@Flying
$subject = "23456/10000";
echo preg_replace('/^(\d{2})(\d{2})/','\1.\2',$subject);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Попробуйте так
$subject = "23456/10000";
preg_match('/^(\d{2})(\d{2})/',$subject,$matches);
var_dump("{$matches[1]}.{$matches[2]}");
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽