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 :

remplacer un caractère [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Alvaten
    Homme Profil pro
    Développeur Java / Grails
    Inscrit en
    Novembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java / Grails
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Par défaut remplacer un caractère
    Boujour,

    Je cherche a remplacer tout les caractère [ par < et ] par > avec RegEx. le problème est que le [ est directement suivit d'une chaîne. ex:
    [text] diviendrait <text>.

    Merci

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut

    Et bienvenue à toi sur les forums de developpez.com !

    Je te suggere de jeter un oeil à cette page : http://php.net/str_replace

  3. #3
    Membre éprouvé Avatar de Alvaten
    Homme Profil pro
    Développeur Java / Grails
    Inscrit en
    Novembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java / Grails
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Par défaut
    Merci mais il y a un toujours problèeme, si je change une lettre ça marche mais pas si j'esssaie de changer par < ou >.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // code qui fonctionne 
    $str = "[texte]";
    $str = str_replace('[', '/', $str);
    echo $str; //donne /texte]
     
     
    // code qui ne fonctionne pas
    $str = "[texte]";
    $str = str_replace('[', '<', $str);
    echo $str; // affiche une page blanche

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    La vérité est ailleurs

    <texte> est considéré comme une balise html (et donc invalide) par ton navigateur.
    Regarde le source de ta page dans ton navigateur
    si tu veux afficher tes '<', essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $str = "[texte]";
    $str = str_replace('[', '<', $str);
    echo htmlentities($str);

  5. #5
    Membre éclairé Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Par défaut
    Ton script fonctionne correctement : regarde le code source de la page blanche, le remplacement est effectué. Il n'y a simplement pas d'affichage car le < est interprété comme un début de balise html

    [Edit]Mr N a été plus vif que moi

  6. #6
    Membre éprouvé Avatar de Alvaten
    Homme Profil pro
    Développeur Java / Grails
    Inscrit en
    Novembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java / Grails
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Par défaut
    Merci, j'aurrai du y penser tous seul, ca fait quand même trois ans que je fait du php et de l'html .

    J'ai malgès tout encore un problème , j'aimerai changer [var=texte][var] en <var="texte"><var>. Tout ce que j'arrive a faire est <var="texte><var> (" manquant).

    note: "var" ne change jamais mais "texte" est diférent à chaque fois!

    Merci.

  7. #7
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Par défaut
    Un truc de ce style ça doit marcher (sauf si ça marche pas ).
    Je ne l'ai pas testé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $texte = '[var=texte][var]';
    preg_replace('/\[(.+)=(.+)\]\[\1\]/','<\1="\2"><\1>',$texte);

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

Discussions similaires

  1. Remplacement du caractère ?
    Par Mvu dans le forum ASP
    Réponses: 9
    Dernier message: 06/01/2005, 18h11
  2. Réponses: 11
    Dernier message: 01/12/2004, 19h09
  3. [CR] Chercher et remplacer un caractère dans 1 chaine
    Par franck.cvitrans dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 29/09/2004, 16h42
  4. Fonction permettant de remplacer des caractères
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 06/09/2004, 15h48
  5. Remplacer un caractère
    Par Mvu dans le forum ASP
    Réponses: 5
    Dernier message: 20/07/2004, 09h57

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