Avatar billede kennith Nybegynder
12. februar 2010 - 16:28 Der er 6 kommentarer og
1 løsning

Erstat komma med punktum med preg_replace

Hej jeg vil gerne erstatte komma med punktum og har fundet denne løsning:

$var = ereg_replace("," , ".", $var );

og den fungere jo som den skal men ereg_replace udgår og der skal i stedet bruges preg_replace Men jeg kan ikke gennemskue hvordan den så skal se ud.
Avatar billede repox Seniormester
12. februar 2010 - 16:30 #1
Brug str_replace() istedet.

$var = str_replace(",", ".", $var);
Avatar billede kennith Nybegynder
12. februar 2010 - 17:00 #2
OK hvad er forskellen? skriv som svar så du kan få point
Avatar billede majbom Novice
12. februar 2010 - 17:30 #3
så vidt jeg ved, er preg_replace mere ressourcekrævende...
Avatar billede coderdk Praktikant
12. februar 2010 - 20:49 #4
Regex er, som splazz skriver, mere ressourcekrævende - Du bør bruge str_replace til simple ting - Nogle ting kan du dog kun gøre med regex ;)
Avatar billede repox Seniormester
14. februar 2010 - 18:06 #5
#2
Som både #3 og #4 skriver, så er det mere resorucekrævende.
Udover det vil preg_ funktionerne også være størst anvendelig når det er et dynamísk mønster du gerne vil søge og erstatte efter.

str_replace() gør det nemt at erstatte et ord eller flere ad gangen (funktionen er nemlig meget tilgivende) og så er den ikke omfattet af de ændringer der er på vej.

Se dynamikken i funktionen:



  $string = "Dette er foo - Hello World";
  $string = str_replace("foo", "bar", $string);
  // string bliver "Dette er bar - Hello World"

  ...

  $string = "Dette er foo - Hello World"
  $search_array = array("foo", "World");
  $string = str_replace($search_array, "bar", $string);
  // string bliver "Dette er bar - Hello bar"

  ...

  $string = "Dette er foo - Hello World"
  $search_array = array("foo", "World");
  $replace_array = array("foo", "Venus");
  $string = str_replace($search_array, $replace_array, $string);
  // string bliver "Dette er bar - Hello Venus"


Avatar billede majbom Novice
14. februar 2010 - 19:36 #6
-> #5 - har du ikke fejl i sidste eksempel?
Avatar billede repox Seniormester
14. februar 2010 - 22:31 #7
#6
Mjoeh, en copy-paste fejl, måske... $replace_array skal være:

$replace_array = array("bar", "Venus");

for at få det påståede resultat...

Og ellers mangler første linie i eks. 1 og 2 naturligvis et semikolon...
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