Maison >développement back-end >tutoriel php >Comment extraire du contenu entre des chaînes en PHP ?
Récupération de contenu entre des chaînes en PHP
Lorsque vous recherchez une méthode pour récupérer le contenu compris entre deux chaînes en PHP, différentes approches sont disponibles. Une technique populaire consiste à utiliser la mise en mémoire tampon de sortie et les expressions régulières.
Utilisation de la mémoire tampon de sortie et de Regex
L'exemple fourni utilise les fonctions ob_start() et ob_get_contents() pour capturer le sortie d'un fichier PHP (externalfile.html dans ce cas). La fonction preg_match() est ensuite utilisée pour rechercher un modèle spécifique {FINDME}(.|n*) {/FINDME} dans la sortie capturée. Ce modèle correspondra à tout contenu compris entre les balises {FINDME} et {/FINDME}.
Méthodes alternatives
Bien que la mise en mémoire tampon de sortie puisse être une méthode efficace, ce n'est pas la meilleure. seule option pour l’extraction de contenu. Une approche alternative consiste à utiliser les fonctions substr() et strpos().
Utilisation de substr() et strpos()
Le code suivant fournit un exemple de contenu extraction à l'aide de substr() et strpos() :
$startsAt = strpos($out, "{FINDME}") + strlen("{FINDME}"); $endsAt = strpos($out, "{/FINDME}", $startsAt); $result = substr($out, $startsAt, $endsAt - $startsAt);
Cette approche fonctionne en localisant les positions de début et de fin des balises FINDME et {FINDME} à l'aide strpos(). Il utilise ensuite substr() pour extraire le contenu entre ces positions.
Choisir la bonne méthode
La mise en mémoire tampon de sortie et substr() et strpos() peuvent convenir méthodes d’extraction de contenu. Cependant, il y a quelques considérations à garder à l'esprit :
La méthode appropriée dépend de la situation spécifique et des exigences de votre projet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!