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 :

Tenir compte des sauts de ligne


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut Tenir compte des sauts de ligne
    Bonjour,

    j'essaie d'utiliser le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     preg_match_all('#<a\s*xsoftware_tracking=""\s*(http.+?)\s*>#i', $html_img,$matches, PREG_SET_ORDER);
    mais il ne fonctionne pas lorsque la ligne est découpée comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <tr>
    								<td>
    								<a xsoftware_tracking="" href="http://xsoftware.fr/index.php"
    								>
    								<img
    Par contre quand tout est sur la même ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <tr>
    								<td>
    <a xsoftware_tracking="" href="http://xsoftware.frindex.php">
    								<img
    Le code suivant fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all('#<a xsoftware_tracking="" (.+?)>#i', $html_img, $matches, PREG_SET_ORDER);
    J'imagine que je ne sais pas me servir correctement du "\s" mais je ne vois pas comment faire autrement.

    Une aide et une explication seraient les bienvenues.

    D'avance, merci

  2. #2
    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 777
    Points
    17 777
    Par défaut
    La première expression est totalement fausse, il ne pourra jamais y avoir de correspondance avec votre texte (avec le http qui se balade dans le motif - parenthèse capturante).

    Quant à la seconde, si le métacaractère . doit comprendre les nouvelles lignes (\n), il faut ajouter l'option s, parce que ce n'est pas le cas par défaut.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1

  4. #4
    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 777
    Points
    17 777
    Par défaut
    Non, désolé, je maintiens, relis la documentation que tu pointes justement.

    • L'option s a pour but de faire inclure \n dans ce que le métacaractère . peut faire correspondre
    • L'option m a pour but de faire valoir les ancres (début : ^ et fin : $) non plus sur les début et fin de chaîne mais à chaque début et fin de ligne (\n). Or il n'y a pas, de toute façon, d'ancres dans ses expressions.


    Démonstration :

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/06/2012, 16h24
  2. Réponses: 4
    Dernier message: 11/01/2010, 08h58
  3. Réponses: 13
    Dernier message: 03/12/2005, 17h09
  4. remplacer des sauts de ligne par '\n'
    Par Miksimus dans le forum Général Python
    Réponses: 5
    Dernier message: 18/07/2005, 10h01
  5. Ne pas tenir compte des accents dans une requete
    Par zamanika dans le forum Installation
    Réponses: 8
    Dernier message: 08/11/2004, 19h49

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