Avatar billede evilfish Nybegynder
29. januar 2003 - 13:53 Der er 7 kommentarer og
1 løsning

Erstate en værdi med en anden

Hej eksperter

Jeg er ved at lave et dato script til min hjemmeside www.evilfish.dk. Til dette skal jeg erstatte nogle værdier med nogle andre, og undersøgte at ereg_replace og str_replace kunne bruges. Jeg har nu prøvet mig frem, men den erstatter ikke noget.

Scriptet lyder således:

-----
<?
$days = date("d");
$year = date("Y");
$month = date("m");

$month1 = ereg_replace("01","Januar",$month);
$month1 = ereg_replace("02","Febuar",$month);
$month1 = ereg_replace("03","Marts",$month);
$month1 = ereg_replace("04","April",$month);
$month1 = ereg_replace("05","Maj",$month);
$month1 = ereg_replace("06","Juni",$month);
$month1 = ereg_replace("07","Juli",$month);
$month1 = ereg_replace("08","August",$month);
$month1 = ereg_replace("09","September",$month);
$month1 = ereg_replace("10","Oktober",$month);
$month1 = ereg_replace("11","November",$month);
$month1 = ereg_replace("12","December",$month);

$dato = "$days. $month1 - $year";
$dato1 = "$days. $month - $year";
echo $dato; ?><BR><?
echo $dato1;
?>
--------
Den skriver datoen fint, men erstatte... Næææ nej. Hvad gør jeg galt?
Avatar billede sthen Nybegynder
29. januar 2003 - 14:23 #1
Forsøg med str_replace i stedet for:

$month1 = str_replace("01","Januar",$month);
$month1 = str_replace("02","Februar",$month);
osv...

og OBS det hedder februar og ikke febuar
Avatar billede evilfish Nybegynder
29. januar 2003 - 14:26 #2
Jeg har prøvet med str_replace - Samme problem
Avatar billede sthen Nybegynder
29. januar 2003 - 14:28 #3
Så forsøg:

$month = str_replace("01","Januar",$month);
$month = str_replace("02","Februar",$month);
osv...

$dato = "$days. $month - $year";
$dato1 = "$days. $month - $year";
echo $dato; ?><BR><?
echo $dato1;
Avatar billede evilfish Nybegynder
29. januar 2003 - 15:11 #4
Det kan man jo ikke - det giver bare konflikter i Variablerne - Og det virker heller ikke :)
Avatar billede evilfish Nybegynder
29. januar 2003 - 16:00 #5
Nogen der har nogle andre ideer?
Avatar billede sthen Nybegynder
29. januar 2003 - 17:11 #6
<?
$days = date("d");
$year = date("Y");
$month1 = date("m");
$month = date("M");

$month = ereg_replace("Jan","Januar",$month);
$month = ereg_replace("Feb","Februar",$month);
$month = ereg_replace("Mar","Marts",$month);
$month = ereg_replace("Apr","April",$month);
$month = ereg_replace("May","Maj",$month);
$month = ereg_replace("Jun","Juni",$month);
$month = ereg_replace("Jul","Juli",$month);
$month = ereg_replace("Aug","August",$month);
$month = ereg_replace("Sep","September",$month);
$month = ereg_replace("Oct","Oktober",$month);
$month = ereg_replace("Nov","November",$month);
$month = ereg_replace("Dec","December",$month);



$dato = $days.". ".$month." - ".$year;
$dato1 = $days.". ".$month1." - ".$year;
echo $dato; ?><BR><?
echo $dato1;
?>
Avatar billede olebole Juniormester
31. januar 2003 - 01:22 #7
<ole>

Glem alt om at bruge 'ereg_replace()' her. RegExp er langsomme og der er ingen somhelst grund til at bruge dem her.
Hvorfor fungerer dit oprindelige script så ikke? Det her fungerer jo fint:

<?
$days = date("d");
$year = date("Y");
$month = date("m");

$month1 = str_replace("01","Januar",$month);

$dato = "$days. $month1 - $year";
$dato1 = "$days. $month - $year";
echo $dato; ?><BR><?
echo $dato1;
?>

Men dette her fungerer ikke:

<?
$days = date("d");
$year = date("Y");
$month = date("m");

$month1 = str_replace("01","Januar",$month);
$month1 = str_replace("02","Febuar",$month);

$dato = "$days. $month1 - $year";
$dato1 = "$days. $month - $year";
echo $dato; ?><BR><?
echo $dato1;
?>

Det ville have fungeret, hvis du skriver:

$month1 = str_replace("01","Januar",$month);
$month1 = str_replace("02","Febuar",$month1);

Når du har kørt første linie, skal du i næste linie skifte ud i den nye variabel, du har lavet ($month1) ... ikke i den 'gamle' ($month).

En endnu mere elegant metode er at bruge strtr():

<?
$days = date("d");
$year = date("Y");
$month = date("m");

$months = array(
    "01" => "Januar",
    "02" => "Febuar",
    "03" => "Marts"
);

$month1 = strtr( $month, $months );

$dato = "$days. $month1 - $year";
$dato1 = "$days. $month - $year";
echo $dato; ?><BR><?
echo $dato1;
?>

/mvh
</bole>
Avatar billede olebole Juniormester
10. marts 2003 - 20:35 #8
Tjahhh .... hvis du nu insisterer på at bruge den dårligste løsning, såhhh ....  :D
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