8
votes

Regex pour HTML

Dupliqué possible:
Gegex Match étiquettes ouvertes, à l'exception des balises autonomes XHTML

J'ai la chaîne suivante: xxx

Comment puis-je obtenir le code HTML pour le premier N-TH

  • tags? xxx

    Je voudrais une réégycle si possible.


  • 9 commentaires

    Rant


    Tout ce que vous avez besoin de savoir peut être trouvé ici: Stackoverflow.com/Questtions/1732348/...


    Pourquoi tout la descendance? La plupart des débutants seront faire cette erreur une fois (et espérons qu'une seule fois). Aussi, op analyse des documents entiers, il semble que c'est une chaîne de

  • étiquettes. Pas un endroit idéal pour utiliser Regex, mais ce n'est pas que mauvais soit.


    Prodigitauxon - En fait, vous m'avez donné la meilleure réponse que j'aurais pu espérer ... Comment devais-je le constater que juste en cherchant?


    @FrustratedwithFormsDesigner - convenu. Ceci est une question valable qui mérite une réponse. Cela étant dit, je rentre à la maison pour jouer avec mon fils :)


    Cette question a été posée à SOOOO plusieurs fois. Les gens ne cherchent-ils pas? N'est-ce pas à venir correctement dans les recherches? Que se passe-t-il? On a demandé au moins peu de fois cet après-midi!


    @WebBieveave: OP ne permet pas d'analyser des documents HTML avec REGEX, OP recherche une chaîne avec un seul type d'étiquette, tout au même niveau (pas de nidification - qui est généralement le principal problème avec REGEX + HTML). Pas vraiment la même chose.


    @FrustratedwithFormsDesigner: Comment n'y a-t-il pas de nidification? Son HTML intérieur orthographe le mot "aléatoire" qui me conduit à croire que tout pourrait être dans ces tags.


    @webbiedavie: C'est un exemple très spécifique et il ne dit jamais "Toute HTML" ou "Autres tags", ce qui me conduit à penser qu'il va coller à l'exemple (ou des cordes similaires); Mais assez juste: Si OP montre que ses autres chaînes d'entrée peuvent avoir des étiquettes imbriquées, vous obtenez 100 points Internet et je vais supprimer mon commentaire précédent. :)


  • 3 Réponses :


    10
    votes

    Comme ça. xxx

    oh ouais, apprendre XPath , il sera économiser beaucoup de problèmes à l'avenir.


    2 commentaires

    Je recommanderais toujours SimplexML sur Domdocument Dor si simples choses que Domdocument a besoin d'une surcharge d'objets supplémentaires (comme pour XPath) et de sélectionner des éléments et leur contenu de contenu de compliquer.


    @ Kau-boy - intéressant, soin de poster un exemple? Réalisez également DOMDocument ne nécessite pas que vous exécutez le HTML bien rangé. Cela en soi est une victoire majeure pour moi.



    1
    votes

    Comme je suis sûr que vous savez que ce n'est pas une bonne idée d'utiliser des expressions régulières pour travailler via HTML à moins que vous ne soyez "rangé".

    Une solution très viable dans PHP serait de naviguer dans la structure HTML à l'aide de Simple XML ( http://php.net/manual/fr/book.simphexml.php ) ou en tant que document DOM ( http://php.net/manual/fr/class.domdocument.php ).


    0 commentaires

    6
    votes

    La solution de @byron mais avec simppexml: xxx

    edit : une autre raison que j'aime vraiment chez SimplexML est le débogage facile du contenu d'un nœud. Vous pouvez simplement utiliser print_r ($ xml) pour imprimer l'objet avec ses nœuds enfants.


    1 commentaires

    Corrigé, merci pour le conseil!