Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/08/2008, 15h36   #1
Membre habitué
 
Inscription : mai 2007
Messages : 270
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 270
Points : 102
Points : 102
Par défaut Traitement des caractères spéciaux

bonjour tout le monde,

j'ai commencer a creer une petite fonction, ou plutôt un bout de code que je retrouve partout dans mes pages.

il rempalce lescaractères "é", " ", "à" par l'équivalent en ...... en je ne sais pas quelle norme ! (c'est pas du asci c'est pas l'equivalent html ... je ne sais pas ce que c'est !! )

je remplace ces caractères pour pouvoir faire des liens href en php valide pour FF et IE.

Voici les lignes de codes :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
$vr = str_replace ( ' ' , '%20' , $vr );
$vr = str_replace ( 'é' , '%c3%a9' , $vr);
$vr = str_replace ( 'è' , '%C3%A8' , $vr);
$vr= str_replace ( 'à' , '%C3%A0' , $vr );
 
$tt = str_replace ( ' ' , '%20' , $tt );
$tt = str_replace ( 'é' , '%c3%a9' , $tt );
$tt = str_replace ( 'è' , '%C3%A8' , $tt );
$tt = str_replace ( 'à' , '%C3%A0' , $tt);
 
$do = str_replace ( ' ' , '%20' , $do );
$do = str_replace ( 'é' , '%c3%a9' , $do );
$do = str_replace ( 'è' , '%C3%A8' , $do );
$do = str_replace ( 'à' , '%C3%A0' , $do );
j'ai essayer plusieurs fonction htmlenties, rawurl, urlenconde, urldecode ...(les noms ressemblaient un peut a ça .. )

et même des combinaison du style urldecode(rawurl(urlencode(htmlenties)))
(en exagèrant ... )

Mais ce n'est pas du tout le bon résultats (les espaces étaient remplacer par des "+" les "é" par des "%E9" .... )

☻Existe il une fonction pour remplacer les caractères speciaux que j'ai (et les autres) par l'equivalent de cette norme inconnu ?

☻si non, comment rendre des url avec caractère speciaux valides sous ff et ie et les autres navigateur (opera,n safarie ... ) ?

☻ Comment faire un appel de fonction pour éviter ces redondances ?

Merci a vous !
new-dmx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 15h45   #2
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
La fonction rawurlencode() doit faire ça très bien pourtant.

Code :
echo rawurlencode( 'http://www.google.fr/saison=été&mois=août&phrase=bonjour à tous' );
Citation:
http%3A%2F%2Fwww.google.fr%2Fsaison%3D%E9t%E9%26mois%3Dao%FBt%26phrase%3Dbonjour%20%E0%20tous
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 15h45   #3
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Bonjour,

Citation:
Existe il une fonction pour remplacer les caractères speciaux que j'ai (et les autres) par l'equivalent de cette norme inconnu ?
Oui, sans doute :
Mais si dans toutes tes pages, c'est alors le charset qu'il faut modifier, car tu n'utilises probablement pas le bon charset :

Code :
1
2
3
4
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
ou
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 16h28   #4
Membre habitué
 
Inscription : mai 2007
Messages : 270
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 270
Points : 102
Points : 102
ah bon ? j'ai pourtant essayer beaucoups de fonctions.

La ce sont des variables que je recupere d'une bdd que je passe en paramètre ..

C'est bizzar, avec le code source ci dessus sous easyphp sa marche très bien mais sur mon serveur perso certains lien ne fonctionnent pas
new-dmx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h10.


 
 
 
 
Partenaires

Hébergement Web