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

  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 : 34
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Points : 1 023
    Points
    1 023
    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 éminent 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
    Points : 6 449
    Points
    6 449
    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 : 34
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Points : 1 023
    Points
    1 023
    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 éminent 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
    Points : 6 449
    Points
    6 449
    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 régulier 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
    Points : 102
    Points
    102
    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 : 34
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Points : 1 023
    Points
    1 023
    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 : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Points : 3 522
    Points
    3 522
    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);

  8. #8
    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 : 34
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Points : 1 023
    Points
    1 023
    Par défaut
    Non, ca marche pas

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Points : 3 522
    Points
    3 522
    Par défaut
    montre le code de ton test.

  10. #10
    Membre régulier 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
    Points : 102
    Points
    102
    Par défaut
    Un truc de ce style (attention, s'affiche en code source ) donc à améliorer avec htmlentities pour un affichage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $str = '[var=texte][var] ';
    $str=preg_replace('/\[var\=(.*)]\[var\]/Us', '<var="$1"><var>',$str);

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Points : 3 522
    Points
    3 522
    Par défaut
    Citation Envoyé par zamanika
    Un truc de ce style (attention, s'affiche en code source ) donc à améliorer avec htmlentities pour un affichage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $str = '[var=texte][var] ';
    $str=preg_replace('/\[var\=(.*)]\[var\]/Us', '<var="$1"><var>',$str);
    C'est à peu de chose pret la meme chose que moi. 0 la différence que la mienne est plus générique sur les balises. Et pour les Us, dans ce cas il n'y a pas d'interet.

  12. #12
    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 : 34
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Points : 1 023
    Points
    1 023
    Par défaut
    Ca marche merci!

+ 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