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 :

preg_match_all veut pas marcher


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut preg_match_all veut pas marcher
    Bonjour,

    mon but est de copier le contenu entre "<tr" et </tr>
    la résultat que je cherche pour l exemple mentionné en bas c est " bla bla >" dans l array, le l array est toujours vide, ou je me suis trompé ? merci par avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $homepage = "c est un test <tr bla bla ></tr> la fin de la phrase";
     
     
    if (preg_match_all("!<tr( [^>]+)?>(.*)</tr>!Ui",$homepage ,$matches)) 
    {
        echo $matches;
    } else {
        echo $matches;
    }

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut utiliser print_r() pour voir ton résultat et non echo.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    j'admets que je suis débutant :d merci pour votre reponse, et j ai une autre question en rapport de ca
    comment je peux enregistrer le contenu de ce array ds un fichier txt ? apres cette reponse je vais mettre le resolu , pourra tu modifier pour moi le code pr qu'il fait ca , merci par avance.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    le contenu du fichier fil.html est :
    <td style="margin:0px;padding:0px; text-align:center;">
    <embed
    src="http"
    type="application/x-shockwave-flash"
    allowfullscreen="true"
    width="640"
    height=480>
    </embed><br>




    alors kan j essaye de recuperer les donnes entre embed et /embed ca ne marche pas. voila mon code , quelqun peut aider ce debutant

    $homepage = file_get_contents("F:\\fil.html");


    if (preg_match_all("!<embed( [^>]+)?>(.*)</embed>!i",$homepage,$matches))
    {
    print_r ($matches);
    }

  5. #5
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    Il y a un problème. Fais le test avec un fil.txt et ne mets pas de html dedans, mets un truc genre 'lulu castagnette'.
    Ca marchera.
    Donc ton problème vient de là, si je ne m'abuse.
    Le navigateur interprète directement tes balises html au lieu de les afficher.

    Si tu encadres ton code dans des balises <xmp>, ton code s'affiche brut de pomme sans être interprété par le navigateur.

  6. #6
    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
    Il vous faut le modificateur s pour que le métacaractère . inclut \n, ce qui n'est pas le cas par défaut. Sinon, ici, celui entre les balises <embed> et </embed> ne conduira à aucune correspondance :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (preg_match_all("!<embed([^>]*)>(.*)</embed>!Usi", $homepage, $matches))
    {
        print_r($matches);
    }

Discussions similaires

  1. [OpenOffice][Tableur] bouton qui ne veut pas marcher (macro assignée ne se déclenche pas)
    Par mipps dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 12/01/2009, 12h16
  2. public class ne veut pas marcher!
    Par jerem721 dans le forum Graphisme
    Réponses: 3
    Dernier message: 19/09/2007, 20h45
  3. [MySQL] INSERT INTO qui ne veut pas marcher
    Par Tee shot dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/03/2007, 17h42
  4. mon "insert" ne veut pas marcher !!
    Par harlock59 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 02/01/2006, 13h17
  5. Réponses: 14
    Dernier message: 16/05/2005, 13h20

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