Avatar billede Slettet bruger
29. december 2004 - 19:17 Der er 13 kommentarer og
1 løsning

explode mellem to tegn

Hvis jeg har f.eks.

$str = "22/10-1988";

og vil have

$d = "22";
$m = "10";
$a = "1988";

hvordan kan det lade sig gøre?
Avatar billede Slettet bruger
29. december 2004 - 19:21 #1
jeg har prøvet med explode, men det virker ikke helt som jeg vil have det til!
Avatar billede gonza.dk Nybegynder
29. december 2004 - 19:25 #2
$str = "22/10-1988";

$explode1 = explode("/", $str);
$explode2 = explode("-", $explode1["1"]);

$d = $explode1["0"];
$m = $explode2["0"];
$a = $explode2["1"];

Skulle klare det...

Mvh.
Gonza
Avatar billede erikjacobsen Ekspert
29. december 2004 - 20:08 #3
$str = "22/10-1988";
$ex = split('[/-]',$str);
$d = $ex[0];
$m = $ex[1];
$a = $ex[2];
Avatar billede Slettet bruger
29. december 2004 - 20:09 #4
jeg har det her:

$begynder_e1 = explode("/", $begynder);
                        $begynder_e2 = explode("-", $begynder_e1["1"]);
                       
                        $bd = $begynder_e1["0"];
                        $bm = $begynder_e2["0"];
                        $ba = $begynder_e2z["1"];
                       
                        $slutter_e1 = explode("/", $slutter);
                        $slutter_e2 = explode("-", $slutter_e1["1"]);
                       
                        $sd = $slutter_e1["0"];
                        $sm = $slutter_e2["0"];
                        $sa = $slutter_e2["1"];
                       
                        $begynder = mktime("0,0,0,$bm,$bd,$ba");
                        $slutter = mktime("0,0,0,$sm,$sd,$sa");

og det virker ikke som det skal :/
Avatar billede gonza.dk Nybegynder
29. december 2004 - 20:12 #5
måske det lille "z" der har sneget sig ind?

                        $ba = $begynder_e2z["1"];
Avatar billede gonza.dk Nybegynder
29. december 2004 - 20:15 #6
$begynder = mktime("0,0,0,$bm,$bd,$ba");
                        $slutter = mktime("0,0,0,$sm,$sd,$sa");

fjern de gåseøjn, så det ser sådanne ud:

                        $begynder = mktime(0,0,0,$bm,$bd,$ba);
                        $slutter = mktime(0,0,0,$sm,$sd,$sa);

eller ser sådan ud:

                        $begynder = mktime("0","0","0",$bm,$bd,$ba);
                        $slutter = mktime("0","0","0",$sm,$sd,$sa");
Avatar billede gonza.dk Nybegynder
29. december 2004 - 20:18 #7
Så er jeg også flink i dag :-)

$begynder_e1 = explode("/", $begynder);
$begynder_e2 = explode("-", $begynder_e1["1"]);
                     
$bd = $begynder_e1["0"];
$bm = $begynder_e2["0"];
$ba = $begynder_e2["1"];
                     
$slutter_e1 = explode("/", $slutter);
$slutter_e2 = explode("-", $slutter_e1["1"]);
                     
$sd = $slutter_e1["0"];
$sm = $slutter_e2["0"];
$sa = $slutter_e2["1"];

$begynder = mktime(0,0,0, $bm, $bd, $ba);
$slutter = mktime(0,0,0, $sm, $sd, $sa);
Avatar billede Slettet bruger
29. december 2004 - 20:19 #8
virker stadig ikke sådan her:


$begynder1 = split('[/-]',$begynder);
                        $bd = $begynder1[0];
                        $bm = $begynder1[1];
                        $ba = $begynder1[2];
                       
                        $slutter1 = split('[/-]',$slutter);
                        $sd = $slutter1[0];
                        $sm = $slutter1[1];
                        $sa = $slutter1[2];
                       
                        $begynder = mktime("0,0,0,$bm,$bd,$ba");
                        $slutter = mktime("0,0,0,$sm,$sd,$sa");
Avatar billede Slettet bruger
29. december 2004 - 20:20 #9
det virker gonza :P

mange tak
Avatar billede gonza.dk Nybegynder
29. december 2004 - 20:21 #10
og med Eriks, det ser noget pænere ud:

$begynder_split = split('[/-]',$begynder);
                     
$bd = $begynder_split["0"];
$bm = $begynder_split["1"];
$ba = $begynder_split["2"];
                     
$slutter_split = split('[/-]',$slutter);
                     
$sd = $slutter_split["0"];
$sm = $slutter_split["1"];
$sa = $slutter_split["2"];

$begynder = mktime(0,0,0, $bm, $bd, $ba);
$slutter = mktime(0,0,0, $sm, $sd, $sa);
Avatar billede gonza.dk Nybegynder
29. december 2004 - 20:22 #11
Husk også lige at lukke dit andet spørgsmål... Du fik vist svar på begge her?
Avatar billede erikjacobsen Ekspert
29. december 2004 - 20:27 #12
Du skal bruge [0] og ikke ["0"]
Avatar billede detox Nybegynder
29. december 2004 - 20:27 #13
Det kunne forenkles til:

list ($d,$m,$a) = split("[/-]", $begynder);
$begynder = mktime(0,0,0,$m,$d,$a);
list ($d,$m,$a) = split("[/-]", $slutter);
$slutter = mktime(0,0,0,$m,$d,$a);
Avatar billede gonza.dk Nybegynder
29. december 2004 - 20:30 #14
Erik -> hvad er forskellen? Det virker lige godt med begge jo. Er der en bestemt grund til at udelade "" ? Bare for informationens skyld... Og så lige for at blive et par grader klogere (hehe)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester