IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] passer une chaine de caracteres dans une URL ?


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Par défaut [Tableaux] passer une chaine de caracteres dans une URL ?
    Bonjour
    J'ai essayé ça

    $titre = str_replace( array( ' ','\t', '\r', '\n' ), '_', $album['album_titlle'] );

    pour passer une chaine de caracteres avec caracteres exotiques (apostrophe, espaces parentheses etc) dans une URL mais il manque plein de caractères dans cette ligne, comme é, à ...

    Alors comment faire plutôt ?

    Merci!

  2. #2
    Membre éclairé Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Par défaut
    le mieux est je pense de compléter toi même avec tous les caractères que tu souhaites remplacer par _
    ou alors il y a une petite fonction sympa que j'utilise (trouvée sur le net avec les bons mots clés)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function filter($in) {
    	$search = array ('@[éèêëÊË]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[ ]@i','@[^a-zA-Z0-9_]@');
    	$replace = array ('e','a','i','u','o','c','_','');
    	return preg_replace($search, $replace, $in);
    }
    il te suffit de compléter
    bon courage

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 70
    Par défaut
    Tentes un base64_encode, puis un base46_decode, les chaines de caracteres reviennent niquel !

  4. #4
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut
    Je vais peut être dire une c*** mais si tu passes "aàb" dans une url, le "à" est converti tout seul en quelque chose comme %3c (ou assimilé) non ?

    De fait, ton str_replace initial est probablement suffisant.
    Tu as testé pour voir ?

    Sinon, d'une maniere générale, passer les données en POST, notamment quand c'est des chaines de caractères, c'est généralement plus propre.

Discussions similaires

  1. [MySQL] Récupérer une chaine de caractere dans une variable
    Par Mais.Ouais dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 26/05/2009, 12h41
  2. supprimer une chaine de caractere dans une ligne.
    Par wadabush dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 11/02/2009, 21h59
  3. comment modifie un caractere dans une chaine de caractere
    Par lenetfm dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 19/03/2008, 22h35
  4. erreur pour une insertion d'une chaine de caractere dans une cellule
    Par amel95140 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/10/2006, 10h09
  5. Réponses: 2
    Dernier message: 04/11/2005, 12h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo