10
votes

Comment obtenir du texte en tableau entre toutes les balises de HTML?

Je veux aller chercher du texte dans la matrice entre tous les span> Code> Tag de HTML, j'ai essayé avec ce code mais il ne renvoie qu'une occurrence:

<span>The wish to</span> be unfairly treated is a compromise attempt that would COMBINE attack <span>and innocen</span>ce.  Who can combine the wholly incompatible, and make a unity  of what can NEVER j<span>oin? Walk </span>you the gentle way,


2 commentaires

4 Réponses :


2
votes

Utiliser Preg_Match_All () C'est la même chose, il retournera toutes les occurrences dans le tableau $ correspondant

http://php.net/manual/fr/function. Preg-match-all.php


2 commentaires

On ne peut pas analyser HTML avec une regex. jamais .


Comme tout, cela dépend du contexte, il appartient au programmeur de savoir à quoi ressemble ses données, si ce n'est que des étiquettes de couverture sans contenu spécial à l'intérieur, je ne vois pas pourquoi pas



2
votes

Vous devez passer à Preg_Match_All fonction < p> code xxx

Comme vous pouvez maintenant le voir maintenant tableau est correctement rempli afin que vous puissiez echo Tous vos matchs


0 commentaires

1
votes

Voici le code pour obtenir toute la valeur de l'étendue dans le tableau

Array
(
    [0] => Array
        (
            [0] => The wish to
            [1] => and innocen
            [2] => oin? Walk 
        )

    [1] => Array
        (
            [0] => The wish to
            [1] => and innocen
            [2] => oin? Walk 
        )

)


0 commentaires

0
votes

Si cela ne vous dérange pas d'utiliser un composant tiers, j'aimerais vous montrer Composant Domcrawler de symfony. C'est un moyen très simple d'analyser les fichiers HTML / XHTML / XML et de naviguer dans les nœuds.

Vous pouvez même utiliser des sélecteurs CSS. Votre code serait quelque chose comme: xxx

Vous n'avez même pas besoin d'avoir un document complet HTML / XML, si vous n'attribuez que le .. . une partie de votre code, cela fonctionnera bien.


0 commentaires