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 :

Gestion des chaines de caractères [RegEx]


Sujet :

Langage PHP

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Gestion des chaines de caractères
    Bonjour,

    Je suis actuellement en train de travailler sur un projet, et je me heurte à un problème :

    J'ai une variable qui contient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    un paragraphe de texte <a href=" javascript:window_popup('../../rep1/rep2/pdf/fichier1.pdf')">Test</a>
    <br>Un autre paragraphe<br>
    <a href="
    javascript:window_popup(''../../repository/editeur/pdf/fichier2.pdf')">Test2</a>
    <br>
    et voila mon problème : il faudrait que j'arrive a récupérer les 2 liens vers les fichiers pdf donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      ../../rep1/rep2/pdf/fichier1.pdf
         ../../repository/editeur/pdf/fichier2.pdf
    Mais je rencontre un problème, grâce à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       $lalongueur=strlen($contenu);
        $positiondepart= strpos($contenu,"'");
        $portiondemandee=substr($contenu,$positiondepart+1,$lalongueur);
    j'arrive a récupérer tout ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ../../rep1/rep2/pdf/fichier1.pdf)">Test</a><br><br><a href="javascript:window_popup(''../../repository/editeur/pdf/fichier2.pdf'')">Test2</a>
    <br>
    mais après je n'arrive pas a couper ma chaîne de façon a ce qu'elle ne contienne que le premier lien, et surtout après je ne vois pas trop comment faire une boucle ou quelque chose d'autre qui me permettrait de récupérer également le lien du 2ème fichier

    Il faudrait egalement que j'arrive a remplacer des bouts de cette chaîne par une autre chaîne, et je n'ai aucune idée de comment faire

    Si quelqu'un a une idée... pour me débloquer ou m'aider

    Merci

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    peu etre devrait tu tenrienter vers la fonction preg_match();
    Conception / Dev

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    preg_match_all puisqu'il doit en récupérer plus d'un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $chaine = <<< EOS
    un paragraphe de texte <a href=" javascript:window_popup('../../rep1/rep2/pdf/fichier1.pdf')">Test</a>
    <br>Un autre paragraphe<br>
    <a href="
    javascript:window_popup(''../../repository/editeur/pdf/fichier2.pdf')">Test2</a>
    <br>
    EOS;
     
    if (preg_match_all('/window_popup\(([\'"])(.*)\1\)/Ui', $chaine, $matches, PREG_SET_ORDER)) {
        foreach ($matches as $m) {
            echo $m[2] . '<br/>';
        }
    }
    Résultat :
    ../../rep1/rep2/pdf/fichier1.pdf
    '../../repository/editeur/pdf/fichier2.pdf
    (L'apostrophe en trop vient de votre exemple)

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Merci à tous,

    J'ai bien résolut mon problème grâce aux expressions régulières :

    $string = ereg_replace("javascript:window_popup\(\'", $debut, $string);
    $string = ereg_replace("\'\)", $fin, $string);

    J'ai pu remplacé ce que je ne voulais pas grâce à l'expression régulière ereg_replace

    Merci


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

Discussions similaires

  1. gestion des chaines de caractères dans champ memo
    Par pascalourox dans le forum IHM
    Réponses: 1
    Dernier message: 07/08/2008, 20h32
  2. Repérer des chaines de caractères formatée dans du texte
    Par jeremiegrenoble dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 01/02/2006, 13h06
  3. [VBS]Gestion des chaînes de caractères
    Par Edoxituz dans le forum VBScript
    Réponses: 11
    Dernier message: 29/01/2006, 17h07
  4. Gestion des chaînes de caractères
    Par Furius dans le forum VBScript
    Réponses: 5
    Dernier message: 06/01/2006, 15h01
  5. [vb excel]Gestion de chaine de caractère et de fichier
    Par shirya dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/10/2005, 09h58

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