PHP: Extraire une chaîne comprise entre 2 autres chaînes (ou balises…) sans expression régulière
on peut faire ça avec les expressions régulières. Les expression régulière sont des outils très puissants, mais également assez compliqués à appréhender pour les néophytes. Qui plus est, les expressions régulières sont assez gourmandes en ressources.
Pour extraire une chaîne de caractère comprise entre 2 autre chaines, je conseillerait donc plutôt une méthodes plus simple, et surement moins gourmande en ressources, bien qu’elle demande 2 lignes
$pieces = explode("<balise1>", $page); $pieces = explode("<balise2>", $pieces[1]); $mon_resultat=$pieces[0];
Si vous connaissez a peu près l’emplacement de votre chaîne dans la page, vous pouvez moduler et inverser pour retirer d’abord le plus gros morceau à la première ligne, et donc gérer une chaîne de caractère moins importante lors du 2ème explode.
$pieces = explode("<balise2>", $page); $pieces = explode("<balise1>", $pieces[0]); $mon_resultat=$pieces[1];
Bonjour,
MERCI c’est génial ! par contre mon souci est de faire la même chose mais sur tout un texte. Concretement je veux extraire toutes les chaines entre les balises et ( et il y en a bien 500 à 600 dans mon texte. Comment les extraire toutes ? MERCI
Bonjour,
Tu veux dire récupérer uniquement le texte du page html? Ou mettre tous les éléments situés entre certaines balises seulement dans un tableau?
Si c’est pour virer toutes les balises html d’une page, y a la fonction strip_tags qui fait ça…
Par contre ça vire aussi les textes qui sont a l’intérieur des balises, comme les alt des images..