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 :

Retours à la ligne


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Par défaut Retours à la ligne
    Bonjour, j'ai un petit probleme d'expression regulieres. En fait, je dois matcher plusieurs variables dans un code mais j'ai un probleme avec des auts de ligne.
    Voila le code,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Colonie</th>
    <th0style= white-space:0nowrap; 0width= 30 >
    0
    000</th>0
    0000<th0width= 30 >
     
    0
    000</th>
    0000<th0width= 150 >0
     
    00000<a0style= cursor:0pointer; 0onmouseover
    C'est le retour a la ligne qui doit faire planter le truc. Vous auriez une idée pour quand même matcher ses deux expressions et passer outre ce retour a la ligne?

    Merci d'avance


    admettons que je match avec l'expression suivante : /(Colonie)/

    Pas de probleme, ca passe

    si je catch avec : /(nmouseover)/

    Pas de probleme.

    Par contre si je veux catcher les deux en même temps, la ca marche plus. Par exemple :

    /(Colonie).+(nmouseover)/


    Je pense que ca vient de cette partie la du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    000</th>0
    0000<th0width= 30 >
     
    0
    000</th>
    0000<th0width=
    auriez vous ne idée pour matcher ses deux expressions en une fois et passer outre le retour a la ligne ?

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    C'est une histoire de modificateur, je crois que c'est le "s". Pas sûr.
    Vu que tu matches des chaînes fixes, je doute que tu aies besoin des parenthèses capturantes :

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Par défaut
    nan j'ai matché des chaines fixes sur l'exemple ^^ Pour plus de simplicité. Je vais essayer de rajouter un s derriere les /

    Merci

    edit:Je viens d'essayer et il me dit que l'expression n'est pas conforme.

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
     
    $string = 'Colonie&lt;/th&gt;
    &lt;th0style= white-space:0nowrap; 0width= 30 &gt;
    0
    000&lt;/th&gt;0
    0000&lt;th0width= 30 &gt;
    
    0
    000&lt;/th&gt;
    0000&lt;th0width= 150 &gt;0
    
    00000&lt;a0style= cursor:0pointer; 0onmouseover';
     
    echo preg_match_all('/Colonie.+nmouseover/s', $string, $matches, PREG_SET_ORDER);
     
    /*echo '<pre>';
    print_r($matches);
    echo '<pre>';*/
     
    ?>
    Fonctionne comme prévu.

  5. #5
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Salut, pour le multi-ligne c'est m, tu trouveras toutes les infos ici : http://www.php.net/manual/fr/referen....modifiers.php

    Bon développpement

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Par défaut
    merci bien ^^

    Je vais continuer du coup. Avec tout ca, je devrais m'en sortir

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Citation Envoyé par Nesmontou
    Salut, pour le multi-ligne c'est m
    Perso je veux bien mais, si on prend l'exemple que j'ai donné, ça affiche "0" avec le m et "1" avec le s...

  8. #8
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Citation Envoyé par Kirkis
    Perso je veux bien mais, si on prend l'exemple que j'ai donné, ça affiche "0" avec le m et "1" avec le s...
    En fait, il me semble qu'il faut mettre les 2 (perso, c'est ce que je fais et je rajoute i pour ne pas tenir compte de la casse) :
    - s pour que . remplace n'importe quel caractère
    - m pour le multi-ligne
    :

  9. #9
    Membre chevronné
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par défaut
    le . représente tout les caractères SAUF les sauts de lignes.

    donc, ton expression devrait être:
    /(Colonie)(.|\n|\r)+(nmouseover)/

  10. #10
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Citation Envoyé par FMaz
    le . représente tout les caractères SAUF les sauts de lignes.

    donc, ton expression devrait être:
    /(Colonie)(.|\n|\r)+(nmouseover)/
    C'est bien à cet effet qu'a été créé le modificateur "s" cité plus haut, il n'y a donc pas besoin de se compliquer la vie à gérer les cas particuliers, en l'occurence \n et \r

Discussions similaires

  1. Caractère de retour à la ligne.
    Par Pari dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 18/03/2009, 09h59
  2. [FileWriter] retour à la ligne
    Par LoLoSS dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 23/06/2004, 10h52
  3. [JTextArea] Fichier et retour à la ligne
    Par eraim dans le forum Composants
    Réponses: 4
    Dernier message: 23/06/2004, 08h21
  4. [MFC] Retour à la ligne dans un CEdit
    Par Kant dans le forum MFC
    Réponses: 7
    Dernier message: 18/02/2004, 08h58
  5. Conserver les retours à la ligne
    Par arwen dans le forum ASP
    Réponses: 2
    Dernier message: 04/12/2003, 12h50

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