Я мог бы предложить использовать preg_match_all
с шаблоном регулярных выражений ^.*?\.\d
:
$string = "10x1.12A";
preg_match_all ("/^.*?\.\d/", $string, $matches);
echo $matches[0][0];
Это печатает:
10x1.1
Также возможно preg_replace
способ сделать this:
$string = "10x1.12A";
$output = preg_replace("/(?<=\.\d).*$/", "", $string);
echo $output;
Этот подход удаляет все, что появляется после числа точки. Обратите внимание, что я предполагаю, что здесь будет только одна точка.