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 :

Rechercher/remplacer avec preg_replace [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Points : 68
    Points
    68
    Par défaut Rechercher/remplacer avec preg_replace
    Bonjour

    Je cherche à faire des remplacements (type rechercher/remplacer) dans une page à l'aide d'un script php.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $pattern[0] = "~</body>~" ;
    $replacement[0] = "<?php include($_SERVER['DOCUMENT_ROOT'].'/controle_acces/patch.inc.php') ; ?>\n</body>" ;
    $contenu = preg_replace($pattern, $replacement, $contenu ) ;
    php retourne l'erreur suivante :

    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

    J'ai également testé str_replace, mais même message d'erreur.

    Où est le problème exactement ?

    Merci

  2. #2
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Bonjour,

    Ceci résoudra le problème de compilation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $pattern[0] = "~</body>~" ;
    $replacement[0] = include($_SERVER['DOCUMENT_ROOT'].'/controle_acces/patch.inc.php') ."\n</body>";
    $contenu = preg_replace($pattern, $replacement, $contenu ) ;
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Points : 68
    Points
    68
    Par défaut
    J'ai réellement besoin d'écrire <?php et ?> dans le fichier !

  4. #4
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    OK, cela doit donc être une chaîne littérale.

    Ceci alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $pattern[0] = "~</body>~" ;
    $replacement[0] = '<?php include($_SERVER["DOCUMENT_ROOT"]."/controle_acces/patch.inc.php");?>\n</body>';
    $contenu = preg_replace($pattern, $replacement, $contenu ) ;
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  5. #5
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    faut remplacer :

    par :
    je pense ;o)

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Points : 68
    Points
    68
    Par défaut
    Je ne sait pas ce que veux exactement "chaine littérale", mais merci ça marche ! Egalement pour l'\n
    Un littéral, c'est une chaîne de caractère qui ne doit pas être interprétée.
    C'est une précision importante quand cette chaîne comprend du code php.

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2002] Rechercher/Remplacer avec boucle et plusieurs motifs
    Par Canvas dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/03/2013, 14h09
  2. Rechercher/Remplacer avec retour à la ligne
    Par LittleBean dans le forum Eclipse
    Réponses: 2
    Dernier message: 26/05/2011, 10h31
  3. Logique/algorithme et rechercher-remplacer avec des "chaînes soeurs"
    Par gratiert dans le forum Général Python
    Réponses: 4
    Dernier message: 25/06/2010, 18h00
  4. [VS] rechercher/remplacer avec des regexp
    Par v1nce dans le forum Visual Studio
    Réponses: 4
    Dernier message: 03/07/2007, 14h58
  5. [RegEx] Remplacer une chaîne avec preg_replace
    Par GregPeck dans le forum Langage
    Réponses: 3
    Dernier message: 08/12/2005, 12h21

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