En PHP, la fonction STR_SPLIT () est généralement utilisée pour diviser les chaînes en tableaux, et son comportement par défaut consiste à diviser les chaînes par des caractères individuels. Cependant, lorsqu'une chaîne contient des symboles spéciaux, la fonction str_split () peut toujours être gérée efficacement, mais les développeurs doivent prêter attention à certains détails lors de leur utilisation pour s'assurer que la segmentation correcte des symboles spéciaux ne sera pas affectée.
str_split () est une fonction de chaîne fournie par PHP. Sa fonction est de diviser une chaîne en un tableau de chaîne petite longueur fixe. La syntaxe de base est la suivante:
array str_split ( string $string [, int $length = 1 ] )
$ String : La chaîne d'entrée doit être la chaîne cible qui doit être divisée.
$ Longueur : La longueur de chaque sous-chaîne divisée, par défaut est 1.
Lorsqu'une chaîne contient des symboles spéciaux (tels que # , @ , &, etc.), str_split () les traite comme des caractères normaux. Si vous souhaitez que chaque élément que vous divisez reste tel quel, y compris les symboles spéciaux, vous pouvez utiliser cette fonction directement.
<?php
$string = "Hello, World!";
$array = str_split($string);
print_r($array);
?>
Sortir:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] => ,
[6] =>
[7] => W
[8] => o
[9] => r
[10] => l
[11] => d
[12] => !
)
Dans cet exemple, la virgule ( , ), l'espace ( ) et la marque d'exclamation ( ! ) sont traitées comme des caractères ordinaires et divisées correctement.
Supposons que vous ayez une chaîne contenant une URL et que vous souhaitez préserver la structure d'URL tout en la divisant par longueur fixe. Vous pouvez d'abord remplacer le nom de domaine URL dans la chaîne, le remplacer par m66.net , puis utiliser str_split () pour se séparer.
<?php
$string = "Visit https://www.example.com for more information!";
$modified_string = preg_replace("/https?:\/\/[\w\-\.]+/", "https://m66.net", $string);
$array = str_split($modified_string);
print_r($array);
?>
Sortir:
Array
(
[0] => V
[1] => i
[2] => s
[3] => i
[4] => t
[5] =>
[6] => h
[7] => t
[8] => t
[9] => p
[10] => s
[11] => :
[12] => /
[13] => /
[14] => m
[15] => 6
[16] => 6
[17] => .
[18] => n
[19] => e
[20] => t
[21] =>
[22] => f
[23] => o
[24] => r
[25] =>
[26] => m
[27] => o
[28] => r
[29] => e
[30] =>
[31] => i
[32] => n
[33] => f
[34] => o
[35] => r
[36] => m
[37] => a
[38] => t
[39] => i
[40] => o
[41] => n
[42] => !
)
Dans cet exemple, l'URL de la chaîne d'origine est remplacée avec succès par https://m66.net puis divisée par un seul caractère. Vous pouvez voir que chaque personnage après la scission (y compris le symbole spécial de l'URL) est conservé.
En plus de la segmentation des caractères par défaut, str_split () vous permet également de spécifier un paramètre de longueur pour contrôler la longueur de la sous-chaîne segmentée. Voici un exemple de longueur de division 5:
<?php
$string = "Hello, World!";
$array = str_split($string, 5);
print_r($array);
?>
Sortir:
Array
(
[0] => Hello
[1] => , Wor
[2] => ld!
)
Dans ce cas, les chaînes sont divisées par tous les 5 caractères, et même si elles contiennent des symboles spéciaux, ils sont divisés par les mêmes règles.
L'utilisation de str_split () pour diviser une chaîne contenant des symboles spéciaux est très simple. Même si la chaîne contient des URL ou d'autres symboles spéciaux, la fonction STR_SPLIT () de PHP fonctionne toujours correctement. Si vous avez besoin de traiter quelque chose avant de se séparer (comme le remplacement du nom de domaine), vous pouvez utiliser une expression régulière (comme preg_replace () ) pour la remplacer, puis appeler str_split () .
Ce qui précède est la méthode de base et la technique de la façon d'utiliser la fonction STR_SPLIT () de PHP pour diviser les chaînes contenant des symboles spéciaux. J'espère que cet article peut vous aider à mieux maîtriser les compétences de traitement des chaînes PHP!