J'ai besoin de fractionner le texte délimité par la balise de paragraphe
$text = "<p>this is the first paragraph</p><p>this is the first paragraph</p>";
J'ai besoin de diviser les ci-dessus dans un tableau délimité par les étiquettes de paragraphe. C'est, j'ai besoin de diviser les ci-dessus dans un tableau à deux éléments:
array ([0] = "this is the first paragraph", [1] = "this is the first paragraph")
explode('</p><p>', $text);
?OriginalL'auteur Shane | 2012-01-06
Vous devez vous connecter pour publier un commentaire.
Enlever la clôture
</p>
balises que nous n'avons pas besoin d'eux, et ensuite exploser la chaîne en un tableau sur l'ouverture</p>
balises.Pour voir le code à exécuter, veuillez consulter le codepad entrée. Comme vous pouvez le voir ce code va vous laisser avec un tableau vide à l'entrée à l'indice 0. Si c'est un problème, alors il peut facilement être retiré en appelant
array_shift($array)
avant d'utiliser le tableau.explode("<p>", str_replace("</p>", "", $texte));
Oui, le code peut être réduit à une seule ligne, mais il est plus facile de lire et de comprendre cassé sur plusieurs lignes. J'essaie de faire ma réponse aussi claire que possible de sorte que tous les niveaux de PHP utilisateur peut comprendre ce que je suis en train de réaliser.
J'accepte votre réponse est bien expliqué
Vous êtes un code lisible répartie sur plusieurs lignes est apprécié par ce PHP débutant.
OriginalL'auteur Treffynnon
Pour quelqu'un d'autre qui trouve que cela, n'oubliez pas qu'une balise P peuvent avoir des styles, des cartes d'identité ou de tout autre attributs possibles de sorte que vous devriez voir quelque chose comme ceci:
OriginalL'auteur Ukuser32
////////////////SORTIE /////////////////
c'est le premier paragraphe
c'est le premier paragraphe
OriginalL'auteur bigN
C'est une vieille question, mais je n'étais pas en mesure de trouver toute solution raisonnable dans une heure de recherche pour stactverflow réponses. Si vous avez de la chaîne complète des balises html (les balises p) et si vous voulez obtenir les paragraphes (ou le premier paragraphe) utilisation
DOMDocument
.$long_description
est une chaîne qui a<p>
balises.Je suppose que c'est la bonne solution. Pas besoin de regex. Vous ne devez pas utiliser les regex pour analyser html de toute façon.
OriginalL'auteur Michal
Essayez ce code:
OriginalL'auteur Ocracoke
Si votre entrée est un peu compatibles vous pouvez utiliser une simple méthode de fractionnement:
Où la
preg_split
va chercher les combinaisons de<p>
et</p>
plus possible les espaces et les séparer de la chaîne.Inutile alternative, vous pouvez également utiliser les querypath ou phpquery pour extrait seulement paragraphe complet contenu à l'aide de:
OriginalL'auteur mario
Essayez ce qui suit:
Ce qui peut être modifié, de mettre le tableau dans une classe qui le gèrent avec un complément méthode de la valeur, et un getter.
OriginalL'auteur Geoffroy
De l'essayer.
OriginalL'auteur Prasad Rajapaksha