Maison >développement back-end >tutoriel php >Comment puis-je extraire efficacement des sous-chaînes entre délimiteurs en PHP ?
Recherche de sous-chaînes entre délimiteurs en PHP
Les développeurs rencontrent souvent le besoin d'extraire des sous-chaînes prises en sandwich entre des délimiteurs spécifiques. PHP offre une méthode simple pour accomplir cette tâche sans recourir à des expressions régulières complexes.
Fonction GetInnerSubstring
Pour simplifier le processus, les développeurs PHP peuvent exploiter les fonctions strpos et substr pour créer une fonction getInnerSubstring personnalisée. Voici comment cela fonctionne :
Extension à plusieurs délimiteurs
La fonction getInnerSubstring peut être étendue pour gérer plusieurs occurrences du même délimiteur, en les séparant dans un tableau. Voici le code modifié :
function getInnerSubstring($string, $delim) { $start_pos = strpos($string, $delim); $result = array(); while ($start_pos !== false) { $end_pos = strpos($string, $delim, $start_pos + strlen($delim)); if ($end_pos === false) break; $result[] = substr($string, $start_pos + strlen($delim), $end_pos - $start_pos - strlen($delim)); $start_pos = strpos($string, $delim, $end_pos); } return $result; }
Exemple d'utilisation :
$string = "foo I like php foo, but foo I also like asp foo, foo I feel hero foo"; $result = getInnerSubstring($string, "foo"); print_r($result); // Output: [" I like php ", " I also like asp ", " I feel hero "]
Cette version étendue vous permet de récupérer un tableau de sous-chaînes situées entre n'importe quel nombre d'occurrences de délimiteur .
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!