explode op meerdere delimiters
Ik heb een vraag over explode. Kan je op meerdere delimiters een explode uitvoeren?
BV:
===
ik heb een datum: 2008-10-17
om alleen de datum te krijgen doe ik:
Code (php)
dit geeft een goed resultaat. Nu wil ik echter een datum tijd splitsen.
Ik heb de volgende datum/tijd: 2008-10-17 21:25:00
Wanneer ik het volgende doe:
Code (php)
krijg ik een melding dat ik teveel parameters gebruik. Ok de melding snap ik. Blijkbaar is explode niet zo gemaakt. Is er een manier dat ik wel op meerdere delimiters kan scheiden?
Ik zou strptime gebruiken. Denk die geeft een array terug met o.a. jaar, maand dag uur en minuut ;)
Zet een datum gewoon in een DATE(TIME) veld in de database, heb je al deze php kunsten niet nodig.
Ik heb namelijk een functie (komt van deze site) waar je specifiek een jaar, dag, uur, min, sec
moet ingeven
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
function countdown($jaar, $maand, $dag, $uur, $minuten)
{
$de_countdown_datum = mktime($uur, $minuten, 0, $maand, $dag, $jaar, -1);
$vandaag = time();
$verschil = $de_countdown_datum - $vandaag;
if ($verschil < 0) $verschil = 0;
$overblijvende_dagen = floor($verschil/60/60/24);
$overblijvende_uren = floor(($verschil - $overblijvende_dagen*60*60*24)/60/60);
$minutes_left = floor(($verschil - $overblijvende_dagen*60*60*24 - $overblijvende_uren*60*60)/60);
$taal = 'lang/inc.'.$_COOKIE["taal_pstdf"].'.php';
include($taal);
echo '<font size=-1> '.$overblijvende_dagen.' '.$countdwn_dgn.' '.$overblijvende_uren.' '.$countdwn_urn.' '.$minutes_left.' '.$countdwn_min.' '.$countdwn_msg.'</font>';
}
?>
function countdown($jaar, $maand, $dag, $uur, $minuten)
{
$de_countdown_datum = mktime($uur, $minuten, 0, $maand, $dag, $jaar, -1);
$vandaag = time();
$verschil = $de_countdown_datum - $vandaag;
if ($verschil < 0) $verschil = 0;
$overblijvende_dagen = floor($verschil/60/60/24);
$overblijvende_uren = floor(($verschil - $overblijvende_dagen*60*60*24)/60/60);
$minutes_left = floor(($verschil - $overblijvende_dagen*60*60*24 - $overblijvende_uren*60*60)/60);
$taal = 'lang/inc.'.$_COOKIE["taal_pstdf"].'.php';
include($taal);
echo '<font size=-1> '.$overblijvende_dagen.' '.$countdwn_dgn.' '.$overblijvende_uren.' '.$countdwn_urn.' '.$minutes_left.' '.$countdwn_min.' '.$countdwn_msg.'</font>';
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
function countdown($datum)
{
$vandaag = time();
$verschil = $datum - $vandaag;
if ($verschil < 0) $verschil = 0;
$overblijvende_dagen = floor($verschil/60/60/24);
$overblijvende_uren = floor(($verschil - $overblijvende_dagen*60*60*24)/60/60);
$minutes_left = floor(($verschil - $overblijvende_dagen*60*60*24 - $overblijvende_uren*60*60)/60);
$taal = 'lang/inc.'.$_COOKIE["taal_pstdf"].'.php';
include($taal);
echo '<font size=-1> '.$overblijvende_dagen.' '.$countdwn_dgn.' '.$overblijvende_uren.' '.$countdwn_urn.' '.$minutes_left.' '.$countdwn_min.' '.$countdwn_msg.'</font>';
}
?>
function countdown($datum)
{
$vandaag = time();
$verschil = $datum - $vandaag;
if ($verschil < 0) $verschil = 0;
$overblijvende_dagen = floor($verschil/60/60/24);
$overblijvende_uren = floor(($verschil - $overblijvende_dagen*60*60*24)/60/60);
$minutes_left = floor(($verschil - $overblijvende_dagen*60*60*24 - $overblijvende_uren*60*60)/60);
$taal = 'lang/inc.'.$_COOKIE["taal_pstdf"].'.php';
include($taal);
echo '<font size=-1> '.$overblijvende_dagen.' '.$countdwn_dgn.' '.$overblijvende_uren.' '.$countdwn_urn.' '.$minutes_left.' '.$countdwn_min.' '.$countdwn_msg.'</font>';
}
?>
Ik ga vanavond beide even proberen. Ik laat weten wat het is geworden.
IIG ---> Bedankt!!
Ik heb jou oplossing gebruikt.
Iedereen bedankt
Bedenk me net ff een andere oplossing, vervang je delimiter met str_replace, dus maak van een : een - :P
preg_split. Op die manier zou je meer dan 1 delimiter op kunnen geven.
Aanvulling: je kunt een string ook exploden op een regex met Bas schreef op 20.10.2008 10:06:
@ Robert
Ik heb jou oplossing gebruikt.
Iedereen bedankt
Ik heb jou oplossing gebruikt.
Iedereen bedankt
Dat is in dit geval wel de handigste oplossing, omdat het uit een database komt. In andere gevallen is de oplossing van Jan Koehoorn handiger, het houdt je code overzichtelijk.