Это моя переменная, поэтому я хочу, чтобы php удалил все числа с плавающей запятой в моей строке и распечатал этот результат в браузере:

   <?php
   //1- this my variable
   $var = "100 1-testB/10000 20000.100 200 2-testB/2/20000 20000.200 300 3-testB/30000 30000.3000";
  //2- I want to delete only the float numbers in my string and get This Result: 
  //Result I want: 100 1-testB/10000 200 2-testB/2/20000 300 3-testB/30000 
  //3- i wrote this code for to do that:
   $output = trim(preg_replace("/\s*\b\d+(?:\.\d+)?\b\s*/", " ", $var));
   echo $output; 
   //4- but the result is that: -testB/ -testB/ / -testB/  
   //#any help please?
   ?>
php
1
جلال قرومي 21 Янв 2021 в 17:23

2 ответа

Лучший ответ

Способ выполнить работу:

$var = "100 1-testB/10000 20000.100 200 2-testB/2/20000 20000.200 300 3-testB/30000 30000.3000";
$output = explode(' ', $var);
foreach ($output as $k => $v) {
  if (FALSE !== strpos($v, '.')) {unset($output[$k]);}
}
$output = implode(' ', $output);
echo $output;  // 100 1-testB/10000 200 2-testB/2/20000 300 3-testB/30000
1
Code4R7 21 Янв 2021 в 15:43
<?php
$var = "100 1-testB/10000 20000.100 200 2-testB/2/20000 20000.200 300 3-testB/30000 30000.3000";
$output = preg_replace("/\s*\b\d+(?:\.\d+)?\b\s*/", " ", $var);
$output = trim(preg_replace('/[\s\-\/]+/mu', ' ', $output));
echo $output;

РЕЗУЛЬТАТ

testB testB testB
0
RiggsFolly 21 Янв 2021 в 15:30