Rubrique PHP

PHP: Extraire une chaîne comprise entre 2 autres chaînes (ou balises…) sans expression régulière

Catégorie PHP

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];

3 thoughts on “PHP: Extraire une chaîne comprise entre 2 autres chaînes (ou balises…) sans expression régulière

  1. mic39

    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

    Reply
    1. apocalx (Post author)

      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?

      Reply
    2. Roger

      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..

      Reply

Laissez un commentaire...

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

(obligatoire)