urlencode et ses caractéristiques


zemage
WRInaute discret
WRInaute discret
 
Messages: 92
Inscription: 13 Jan 2006

urlencode et ses caractéristiques

Message le Dim Aoû 20, 2006 16:41

Salut si j'ai un titre d'article avace caractére spéciaux...? ! é ô ....
j'utilise $encodage= urlencode($titre); avant et donc :
<a href="?id=$encodage">c'est l'histoire de... ?!! </a>
J'obtiens des + pour les espaces mais j'ai toujours les ? remplacé par des valeurs héxa...
Les moteurs peuvent interpréter de différente façon et ne pas indiquer le bon lien donc l'article n'est pas trouvé juste un lien différent !!!
Comment rendre un lien 100% compatible et l'est-t-il uniquement avec urlencode ?
Merci.

Albert1
WRInaute impliqué
WRInaute impliqué
 
Messages: 935
Inscription: 23 Aoû 2005

Re: urlencode et ses caractéristiques

Message le Dim Aoû 20, 2006 16:46

zemage a écrit:J'obtiens des + pour les espaces mais j'ai toujours les ? remplacé par des valeurs héxa...

après ton url_encode, tu fais un replace pour remplacer la valeur hexa par le caractère...
si tu veux garder ton '?'
sinon, vire le simplement.
non ?! :roll:


zemage
WRInaute discret
WRInaute discret
 
Messages: 92
Inscription: 13 Jan 2006

Message le Dim Aoû 20, 2006 16:55

Je vois, mais le truc c'est que je m'appuie sur cet url pour les données :
et de plus je ne peux pas à l'avance placer tous les caracteres spéciaux
exemple : article.php?id=c%27est+un+BLOG+%21%21
pour c'est un blog !!
donc là il y a ' et !! et je ne sais pas si laisser comme cela est bien indexé ?
Exemple typique sur cette requête :
je n'avais pas placé d'urlencode avant de voir cela
http://www.google.fr/search?q=convertis ... r:official
Le résultat cest que sur mon site il ne trouve rien :lol:

Donc à présent avec urlencode j'espère que ce sera mieux mais je ne sais pas c'est pourquoi je demande..

Albert1
WRInaute impliqué
WRInaute impliqué
 
Messages: 935
Inscription: 23 Aoû 2005

???

Message le Dim Aoû 20, 2006 16:59

tu pourquoi ne pas replacer tous les caractères accentués par leur forme "non accentuée" 'é' -> 'e'
et les caractères spéciaux par un '-' ?


zemage
WRInaute discret
WRInaute discret
 
Messages: 92
Inscription: 13 Jan 2006

Message le Dim Aoû 20, 2006 17:27

Ouai c'est un idée mais comment faire ?
avec ereg( ?

Albert1
WRInaute impliqué
WRInaute impliqué
 
Messages: 935
Inscription: 23 Aoû 2005

Message le Dim Aoû 20, 2006 17:31

Je crois qu'un str_replace avec un array devrait être suffisant ...
à confirmer ;)


Serious
WRInaute passionné
WRInaute passionné
 
Messages: 2438
Inscription: 21 Nov 2005

Message le Dim Aoû 20, 2006 19:03

zemage a écrit:Les moteurs peuvent interpréter de différente façon et ne pas indiquer le bon lien donc l'article n'est pas trouvé juste un lien différent !!!

Il n'y a qu'une seule maniere d'interpreter une URL donc le lien est forcement bon. Si le bon article n'est pas trouve, ce que tu ne decodes pas correctement. Il faut aussi utiliser urldecode().
zemage a écrit:Comment rendre un lien 100% compatible et l'est-t-il uniquement avec urlencode ?

Oui.


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19599
Inscription: 8 Aoû 2004

Message le Dim Aoû 20, 2006 20:57

zemage a écrit:Ouai c'est un idée mais comment faire ?
avec ereg( ?

J'utilise cette fonction
Code: Tout sélectionner
function supprime_accents ($chaine) {
$a = "àáâãäåòóôõöøèéêëçìíîïùúûüÿñAÀÁÂÃÄÅBCDEÈÉËÊFGHIÌÍÎÏJKLMNOÒÓÔÕÖPQRSTUÙÚÛÜVWXYÝZ&*' /,;:)(";
$b = "aaaaaaooooooeeeeciiiiuuuuynaaaaaaabcdeeeeefghiiiiijklmnoooooopqrstuuuuuvwxyyz----------";
return (strtr($chaine, $a, $b));
}


zemage
WRInaute discret
WRInaute discret
 
Messages: 92
Inscription: 13 Jan 2006

Message le Dim Aoû 20, 2006 23:09

Serious a écrit:Il n'y a qu'une seule maniere d'interpreter une URL donc le lien est forcement bon. Si le bon article n'est pas trouve, ce que tu ne decodes pas correctement. Il faut aussi utiliser urldecode().

ok, Je suis d'accord j'utilise urlencode pour l'id du lien uniquement mais pour la base de donnée (recherche) je ne l'encode pas mon titre ...Et là cela fonctionne...

Leonick pour ta fonction je vais regarder, merci.

Merci @ vous.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités