Extraire du texte entre parenthèses est une tâche courante en programmation. Explorons les approches les plus efficaces en PHP.
La méthode fournie est valide, utilisant strpos() et substr() pour isoler la chaîne souhaitée. Cependant, il existe des alternatives plus optimales à considérer.
Expressions régulières (Regex)
Regex offre une solution concise et efficace pour cette tâche :
<code class="php">$text = 'ignore everything except this (text)'; preg_match('#\((.*?)\)#', $text, $match); print $match[1];</code>
Cette expression régulière correspond à n'importe quel texte entre parenthèses et l'attribue à la variable $match, à partir de laquelle vous pouvez accéder à la chaîne extraite.
Fonctions de manipulation de chaînes
Pour une approche plus granulaire, vous pouvez utiliser les fonctions de manipulation de chaînes de PHP :
<code class="php">$text = 'ignore everything except this (text)'; $start = mb_strpos($text, '('); $end = mb_strrpos($text, ')'); $extractedText = mb_substr($text, $start + 1, $end - $start - 1);</code>
Cette méthode utilise mb_strpos() pour trouver le début des parenthèses, mb_strrpos() pour trouver sa fin et mb_substr() pour extraire la chaîne souhaitée.
Comparaison d'efficacité
Les benchmarks ont montré que l'expression régulière est légèrement plus efficace que l'approche de manipulation de chaîne, en particulier pour les grandes chaînes.
Cependant, à moins que votre application ne gère plusieurs chaînes volumineuses de manière répétée, la différence d'efficacité est négligeable.
Choisissez la méthode qui correspond le mieux aux exigences et à la complexité 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!