Comment extraire des sous-chaînes entre des délimiteurs spécifiés en PHP
Pour les scénarios où vous devez obtenir la sous-chaîne située entre deux chaînes spécifiques, PHP fournit fonctions pratiques pour accomplir cette tâche.
Pour extraire une sous-chaîne entre deux chaînes, comme 'foo' et 'foo', utilisez la fonction suivante :
function getInnerSubstring($string, $delim) { $start = strpos($string, $delim); if ($start === false) { return ''; } $end = strpos($string, $delim, $start + strlen($delim)); if ($end === false) { return ''; } return substr($string, $start + strlen($delim), $end - $start - strlen($delim)); }
Un exemple d'utilisation et de résultat :
$string = "foo I wanna a cake foo"; $substring = getInnerSubstring($string, "foo"); echo $substring; // Output: " I wanna a cake "
Pour un cas d'utilisation plus avancé, vous pouvez étendre la fonction pour récupérer plusieurs sous-chaînes incluses dans plusieurs paires de délimiteurs. Prenons l'exemple suivant :
$string = "foo I like php foo, but foo I also like asp foo, foo I feel hero foo"; $result = getInnerSubstrings($string, "foo"); echo json_encode($result); // Output: ["I like php", "I also like asp", "I feel hero"]
Dans cette fonction mise à jour, nous introduisons une boucle pour parcourir la chaîne et collecter toutes les sous-chaînes correspondant aux délimiteurs spécifiés. La fonction renvoie un tableau de sous-chaînes.
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!