Aller au contenu

Réécriture d'url, caractères accentués et logique


Sujets conseillés

Posté

Bonsoir,

Petit problème de logique !

Je possède une table de noms/prénoms. Je manipule sans problème ces données, mais je souhaite instaurer une règle de réécriture, afin d'obtenir une url plus lisible.

Admettons que la page avant réécriture se nomme truc.php, cela donnerait avec les données de la table :

avant réécriture:
truc.php?nom=bidule&prenom=jean

après réécriture:
jean-bidule.html

Là où cela ne me plait pas trop, c'est lorsque le nom ou le prénom comportent des caractères accentués. Les Günther, lässig, Citröen ne peuvent être réécrits (dans l'url) de la même manière.

Je souhaite donc appliquer une logique ayant la fonction de détecter si un caractère accentué existe dans la variable, afin de modifier cette lettre avant la réécriture.

Mais cette fonction doit aussi procéder à l'inverse, c'est à dire remplacer le caractère accentué DEJA remplacé, par ce qu'il était avant ! (je ma fi bien comprenu ?)

Je pourrais ajouter une nouvelle variable, indiquant par exemple la position du caratère à réaccentuer, mais dans l'idéal, je souhaiterais conserver mon url réécrite telle qu'énoncée plus haut.

Auriez-vous une autre idée ?

xpatval

Posté

Bonjour,

Personnellement, je vois 2 manières de fonctionner :

- on rajoute 1 élément dans l'adresse : 1-jean-bidule.html ou 2-michel-machin.html.

ainsi tu remarques que tu a toujours tes ID au début et tu ne commences pas a déroger au bon principe d'acceder a ta base de donnée avec un identifiant unique (au cas ou tu aurais plusisuers Jean-bidule, tu va être embété)

ensuite, voici un exemple de code pour supprimer les accents.

$monLien = strtolower(strtr("Jean bïdùle", ",'âàäçéèêëîïôöùûü&?:- ", "++aaaceeeeiioouuu...++"));

- la deuxieme solution, si vraiment tu ne veux pas de l'id dans ton url consiste a creer un 2e champs dans la base de donnée et de stocker l'url réécrite. tu stocke par exemple "jean" / "bïdùle" / "jean-bidule.html"

et hop le tour est joué, au moins, tu as l'information qui te permet de mettre en relation une url sans accent avec ton enregistrement nom/prenom avec accents.

toi y en a comprendre moi ;) ?

Posté

Je vous ai...compris !

Bon, et bien, il me reste à faire un choix.

Merci de ta réponse,

xpatval

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...