Explosion de chaînes avec plusieurs délimiteurs en PHP
Explosion d'une chaîne dans un tableau est une tâche courante en PHP. Cependant, que se passe-t-il si vous devez diviser la chaîne en fonction de plusieurs délimiteurs ?
Considérons l'exemple :
$example = 'Appel @ Ratte'; $example2 = 'apple vs ratte'
Vous souhaitez exploser ces chaînes en '@' ou 'vs' pour obtenez un tableau avec les valeurs fractionnées.
Une solution consiste à utiliser une fonction récursive comme celle fournie dans la question. Cependant, il existe une approche plus efficace utilisant des expressions régulières :
$output = preg_split('/ (@|vs) /', $input);
Cette expression régulière divisera la chaîne à toute occurrence de « @ » ou de « vs », qu'il y ait ou non un espace autour du délimiteur. . Le () délimite le modèle de délimiteur et le | sépare les deux options.
Par exemple :
$output = preg_split('/ (@|vs) /', $example); // Result: ['Appel', 'Ratte'] $output = preg_split('/ (@|vs) /', $example2); // Result: ['apple', 'ratte']
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!