Avatar billede bing89 Nybegynder
11. juni 2014 - 20:13 Der er 10 kommentarer og
1 løsning

Erstat æ,ø,å,mellemrum og symboler - og få dem tilbage igen..

Hej.. Jeg har brug for at få erstattet æ, ø, å, mellemrum og symboler - OG få dem tilbage igen ? Hvordan kan jeg gøre det, uden at det laver rod i det.. I skal forestille jer, at I ikke kender $titel's indhold på forhånd..

Min funktion virker fint den ene vej..
$titel = 'Aalborg har grønne æbler pÅ træerne  ';

function cleanTitel($titel) {
        $replace = array("Æ", "Ø", "Å", "æ", "ø", "å",' ');
        $replaceWith = array("AE", "OE", "AA", "ae", "oe", "aa",'_');
        $replaced = str_replace($replace, $replaceWith, trim($titel));
        $cleanTitel = preg_replace('/[^a-z0-9_-]/', '', strtolower($replaced));
       
        return $cleanTitel;
}
echo cleanTitel($titel); // Resultat: aalborg_har_groenne_aebler_paa_traeerne

[b]Den anden vej:[b]
Normalt vil aa, skulle erstattes med Å, men så har vi f.eks. Aalborg ..
Så hvordan jeg skal gøre dette, kan jeg ikke lige se.. ?
Avatar billede jakobdo Ekspert
11. juni 2014 - 20:19 #1
AA eller aa vil jo ikke replace Aa, der skal du så have Aa og omvendt.
Avatar billede kurtmo Novice
11. juni 2014 - 20:37 #2
Du gemmer to udgaver af titel, så kan du altid vende tilbage :-)
Avatar billede repox Seniormester
11. juni 2014 - 20:40 #3
Enig med #2 - det er typisk det man gør.
Avatar billede bing89 Nybegynder
11. juni 2014 - 20:41 #4
Det er korrekt, som jeg skulle have nævnt i indledningen - så er det (igen) til url'er - hvor æ,ø,å ikke bør indgå  :)? Jeg kunne selvfølgelig give det aktive menupunkt en class aktiv, og en attribut med det rigtige link i, men det virker forkert i mit hovede?
Avatar billede jakobdo Ekspert
11. juni 2014 - 20:41 #5
Jeg tror kurtmo mener: (god ide)

$original = //Titel inden cleanTitel()
$replaced = cleanTitel($titel);
Avatar billede bing89 Nybegynder
11. juni 2014 - 20:57 #6
Når siden skifter (genindlæses), så har jeg jo kun resultatet af linket at arbejde ud fra - altså den redigerede del, som ligger i urlen?
Avatar billede repox Seniormester
11. juni 2014 - 21:24 #7
Stadig samme løsning; du identificerer din database entry ud fra url strengen, men henter den originale titel ud fra samme entry.
Avatar billede bing89 Nybegynder
11. juni 2014 - 21:33 #8
Så du vil gemme både den rigtige titel, og den redigerede titel i databasen?
Avatar billede bing89 Nybegynder
12. juni 2014 - 19:51 #9
Jeg anede ikke at urlencode($str); fandtes :) Det er da meget nemmere, hvis det ikke går udover SEO ?
Avatar billede bing89 Nybegynder
14. juni 2014 - 10:59 #10
Nogen som vil have point?
Avatar billede bing89 Nybegynder
23. juni 2014 - 14:08 #11
Jeg lukker :)
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