Comment exploser des chaînes avec plusieurs délimiteurs en PHP ?

DDD
Libérer: 2024-11-01 16:52:02
original
938 Les gens l'ont consulté

How to Explode Strings with Multiple Delimiters in PHP?

Explosion de chaînes avec plusieurs délimiteurs en PHP

Lorsque vous traitez des chaînes complexes, vous pouvez rencontrer le besoin de les exploser en utilisant plusieurs délimiteurs. Voici une exploration détaillée de ce défi, présentant une solution potentielle et une approche alternative.

Énoncé du problème

Considérez les tableaux de chaînes suivants :

<code class="php">$example = 'Appel @ Ratte';
$example2 = 'apple vs ratte';</code>
Copier après la connexion

L'objectif est d'obtenir des tableaux divisés en '@' ou 'vs'.

Solution récursive personnalisée

Une approche consiste à implémenter une fonction récursive appelé multiExplode. Cette fonction prend un tableau de délimiteurs et une chaîne en entrée. Cela commence par éclater la chaîne en utilisant le premier délimiteur du tableau. S'il reste encore des délimiteurs et que le tableau résultant contient plus d'un élément, la fonction s'appelle récursivement avec les délimiteurs restants et la chaîne modifiée.

<code class="php">private function multiExplode($delimiters, $string) {
    $ary = explode($delimiters[0], $string);
    array_shift($delimiters);
    if ($delimiters != NULL) {
        if (count($ary) < 2) {
            $ary = $this->multiExplode($delimiters, $string);
        }
    }
    return $ary;
}</code>
Copier après la connexion

Solution alternative utilisant des expressions régulières

Une autre approche consiste à utiliser les fonctions d'expression régulière de PHP. La fonction preg_split() peut être utilisée pour diviser une chaîne à l'aide d'un modèle d'expression régulière. En créant un motif qui correspond à l'un des délimiteurs souhaités ("@" ou "vs"), vous pouvez diviser la chaîne en parties souhaitées.

<code class="php">$output = preg_split('/ (@|vs) /', $input);</code>
Copier après la connexion

Les deux méthodes peuvent être utilisées pour exploser des chaînes avec plusieurs délimiteurs en PHP. Le choix de la méthode à utiliser peut dépendre des exigences spécifiques et des préférences de l'application.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!