Avatar billede thb Nybegynder
30. oktober 2004 - 00:58 Der er 7 kommentarer og
1 løsning

Diverse navne i adressen

Hej alle.

Jeg er ved at lave et site hvor jeg bruger venlige urls.
Jeg har så nogle stier som kan kommme til at se således ud:

domæne.dk/fil.php/bruger/Thomas Bendtsen

jeg vil så gerne vide hvordan jeg bedst bearbejde det så det ikke bliver noget problem, jeg havde tænkt på at jeg kunne lave en replace og smide en _ istedet for [mellemrum], men hvad ellers... ????

Thomas
Avatar billede jakobdo Ekspert
30. oktober 2004 - 10:50 #1
Altså et mellemrum bliver som regel konverteret til : %20 Så du kunne evt blot replace mellemrum med koden %20
Avatar billede Slettet bruger
30. oktober 2004 - 11:14 #2
æ, ø og å kunne godt blive et problem, men vi foreslå at de bliver til ae, oe og aa
Avatar billede jakobdo Ekspert
30. oktober 2004 - 11:49 #3
eller bare æ -> a, ø -> o og å -> a...
Men det er jo en smagssag...
Avatar billede thb Nybegynder
30. oktober 2004 - 12:15 #4
Kunne I give et eksempel på hvordan det kunne gøres ?
Kunne man ikke lave en funktion som jeg kørte på det valgte ord alt efter hvilken vej det skulle.. altså udskrives på siden eller op i adresse linien...

Thomas
Avatar billede jakobdo Ekspert
30. oktober 2004 - 15:36 #5
Du kunne evt bruge denne funktion:

function ConvertToLink($string)
{
    return strtr($string, "ÆæØøÅå", "AaOoAa");
}

Du kan dog ikke konvertere om igen, da ordet SOD så vil blive til SØD osv...
Og jakobdo vil så blive til jakøbdø
(ok, u got the point)
Avatar billede jakobdo Ekspert
30. oktober 2004 - 15:37 #6
Og måske du endda skal bruge denne istedet for:
strtr($string, "ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéê ëìíîïðñòóôõöøùúûüýÿ", "SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceee eiiiionoooooouuuuyy");
Avatar billede specialty Nybegynder
30. oktober 2004 - 17:24 #7
Du skulle også gerne kunne bruge

$string = "æ ø å";

$string = htmlentities($text);

så vil æøå og mellemrum blive konverteret til deres html koder.. når du så skal have teksten tilbage til den oprindelige kan du bruge.

$string = html_entity_decode($text);

eller

function unhtmlentities($string)
{
  $trans_tbl = get_html_translation_table(HTML_ENTITIES);
  $trans_tbl = array_flip($trans_tbl);
  return strtr($string, $trans_tbl);
}

$string = unhtmlentities($text);

Specialty.
Avatar billede sukos Juniormester
30. oktober 2004 - 17:30 #8
Nu skriver du jo godt nok "pæne url's"

Men den korrekte måde, må vel være at bruge urlencode()

<a href="fil.php?navn=<?php echo urlencode("Thomas Bendtsen"); ?>">link</a>

Og så siden urldecode() igen, til echo på siden

echo urldecode($_GET["navn"]);
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