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 :

[Système] syntaxe stripslashes multiples


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Orb Dorb
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Par défaut [Système] syntaxe stripslashes multiples
    Bonjour à tous,

    J'ai 3 slashes à supprimer.
    J'y arrive très bien de cette façon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo stripslashes(stripslashes(stripslashes($msg_pageview))) ?>
    Mais n'y aurait-il pas un moyen plus logique de supprimer plusieurs slashes ?

    Je n'ai pas vu la réponse sur php.net
    http://www.php.net/manual/fr/function.stripslashes.php

    Merci à l'avance

  2. #2
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Salut,


    C'est bizzare que tu l'utilise trois fois de suite... La fonction enlève tout les anti-slashs de la chaine normalement ! Explique nous plus en détails ton problème

    ++
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  3. #3
    Membre confirmé Avatar de Orb Dorb
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Par défaut
    C'est probablement que je passe la variable plusieurs fois via un isset.

    Car en fait, c'est un formulaire qui est redirigé vers une page de prévisualisation pour ensuite être envoyé sur une autres page (send.php qui envois le tout dans un courriel) et sur cette page je donne l'option de faire afficher une page imprimable (print.php) donc la variable est encore une fois passé à une autre page via le isset.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ProblemeDetails = (isset($_POST['ProblemeDetails']) ? $_POST['ProblemeDetails'] : FALSE);
    Je me sert aussi d'un str_replace dans mon code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // String Replace for pageview
                $showpv = $ProblemeDetails;
                $find = array ( "\n" );
                $replace = array ( "<br>" );
                $msg_pageview = str_replace ($find, $replace, $showpv);
    Donc, de page en page que je transporte ma variable, je doit incrémenter le stripslashes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo (stripslashes($msg_pageview) // pour la page preconfirm.php
    echo stripslashes(stripslashes($msg_pageview)) // send.php
    echo stripslashes(stripslashes(stripslashes($msg_pageview))) // print.php
    En espèrant éclaircir mes explications.

  4. #4
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 83
    Par défaut
    La doc PHP :
    stripslashes() retourne une chaîne dont les anti-slash on été supprimés. \' devient ', etc. Les doubles anti-slash sont réduits à un seul anti-slash.
    L'utilisation des strisplashes à la suite est donc bien nécessaire. Je ne vois pas trop d'autre solution à priori.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // String Replace for pageview
    $showpv = $ProblemeDetails;
    $find = array ( "\n" );
    $replace = array ( "<br>" );
    $msg_pageview = str_replace ($find, $replace, $showpv);
    Si tu ne remplaces que les \n pourquoi ne pas faire un nl2br($showpv) ?
    La fonction est faite pour et en plus c'est normé XHTML

Discussions similaires

  1. Syntaxe : constructeur multiple
    Par Teo dans le forum Langage
    Réponses: 6
    Dernier message: 28/05/2008, 04h55
  2. Syntaxe INSERT multiple MVS IBM
    Par freed201 dans le forum DB2
    Réponses: 5
    Dernier message: 16/04/2008, 18h55
  3. Réponses: 1
    Dernier message: 08/08/2007, 09h38
  4. [Système] syntaxe de path pour windows
    Par opiece dans le forum Langage
    Réponses: 3
    Dernier message: 28/05/2007, 12h41
  5. [Système] Syntaxe courte vs syntaxe longue
    Par Christophe Charron dans le forum Langage
    Réponses: 1
    Dernier message: 30/11/2006, 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