[ feniks-sd @ 11.05.2008. 09:23 ] @
Vec se duze vreme mucim, ali nikako da uspijem izvvojiit ono sto trazim.

Imam string $val="10:0:42:53.00"

Na kraju zelim da dobijem string npr $dani1 ovakvog oblika "10d 0:42:53"

Uspio sam samo djelomicno i to ovim kodom:

Code:

$val="10:0:42:53.00" ;

//custom ispitivanje

$tocka   = '.';
$dvotocka= ':' ; 
$postocka= strripos($val, $tocka);

$resttocka = substr($val, 0,$postocka);  //  

$postdvotocka=strripos($resttocka, $dvotocka);
$dani= substr($resttocka, 0, - $postdvotocka -1);   //
echo $dani ;
$sati=substr($resttocka,  - $postdvotocka);  //
$dani1.="d$dani $sati"  ;




Ovaj kod radi ispravno, medutim string $ val moze biti i ovakav "0:0:42:53.00"

i tada sve pada u vodu , slikovito receno.

Ima li netko prijedlog kako da to rijesim.
[ kelja @ 11.05.2008. 10:38 ] @
Ima boljih resenja, sigurno, sa regularnim ekspresijama, ali meni je ovo najlakse:

Code:

$niz=explode(":",$val);
//print_r($niz);
$time=$niz[0]."d $niz[1]:";
$niz[3]=str_replace(".00","",$niz[3]);
$time.=$niz[2].":$niz[3]";
echo $time;


I , malo 'finije':
Code:

$patern="*[0-9]+*";
preg_match_all($patern,$val,$match);
$time.= $match[0][0]."d ".$match[0][1].":".$match[0][2].":".$match[0][3];
echo $time;


[Ovu poruku je menjao kelja dana 11.05.2008. u 12:11 GMT+1]
[ glavince @ 11.05.2008. 11:10 ] @
A kao dobijas taj string $val="10:0:42:53.00" ?

Mozda moze ranije da se formatira u oblik u koji zelis?
[ kazil @ 11.05.2008. 15:22 ] @
Taman malo da vezbam regularne izraze :)

Code:

$string = "10:0:42:53.00";

preg_match("/(?<dan>[0-9]{1,2}):(?<sat>[0-9]{1,2}):(?<minut>[0-9]{1,2}):(?<sekund>[0-9]{1,2})/",$string,$matches);

echo "$matches[dan]<br />$matches[sat]<br />$matches[minut]<br />$matches[sekund]";


Pomoc:
http://www.phpguru.org/downloa...PHP%20PCRE%20Cheat%20Sheet.pdf
http://www.php.net/manual/en/function.preg-match.php
[ feniks-sd @ 11.05.2008. 15:45 ] @
Ma ljudi moji to radi kako treba. Taj string koji sam trebao "uljepati" ne mogu prije podesiti jer se kao takav cita sa jednog uredaja koji na izlazu daje string takav kakav je. Malo ruzan i tesko za skuziti. Tesko da covjek moze zakljuciti da se radi o danima , satima , minutana i sekundama. Posebno jer na kraju imas ".00" koje nicemu ne sluze.

Hvala na pomoci.
[ kazil @ 11.05.2008. 16:00 ] @
Umm, koje radi kako treba?