webForumDet fria alternativet

ta ut nummer

3 svar · 208 visningar · startad av Picklezz

PicklezzMedlem sedan jan. 2002448 inlägg
#1

vill sortera ut siffrona och lägga in i en array ur nedanstående strängar...kan vara olika texter ibland men siffran står alltid som "XXX min." i slutet på strängen...

was down for at least 67 min.
was down for at least 101 min.
was down for at least 2 min.
MatteMedlem sedan aug. 20002 970 inlägg
#2

Något på det här hållet kanske ?

<? 
$array[] = "was down for at least 67 min.";
$array[] = "was down for at least 101 min.";
$array[] = "was down for at least 2 min.";

foreach($array as $val){
  $val = explode(" ", $val);
  foreach($val as $value) if(is_numeric($value)) $num[] = $value;
}

sort($num);
foreach($num as $number) echo $number."<br>";

?>
PicklezzMedlem sedan jan. 2002448 inlägg
#3

finns fler nummer i början av strängen...den ser aldrig lika dan ut!
men tack för att du försökte iallafall...kan ju köra med denna så länga om jag begränser det till dom 10 sista tecken...

Någon som kan reguljära utryck????
håller på o lär mig men förstår mig aldrig på dom...

MatteMedlem sedan aug. 20002 970 inlägg
#4

Har precis också börjat försöka lära mig lite om reguljära uttryck, och det här är vad jag kom fram till:

<? 

$report = "was down for at least 67 min.
           was 22 down for at least 101 min.
           was down for 35 at least 2 min.";
					 
preg_match_all("/[0-9]+/", $report, $num);

foreach($num[0] as $number) echo $number."<br>";

?>
Genererad på 498 ms · cache AV · v20260730165559-full.f96bc7eb