Dans PHP, STR_SPLIT () est une fonction très utile qui peut diviser les chaînes en tableaux de caractères. Cette fonction est particulièrement utile lorsque nous devons traiter l'entrée de contenu par l'utilisateur au niveau des caractères. Par exemple, si nous voulons vérifier si la saisie des utilisateurs est légale, nous pouvons combiner str_split () pour atteindre cette fonction.
Ci-dessous, nous expliquerons en détail comment utiliser str_split () pour diviser les entrées utilisateur et vérifier si chaque caractère est légal.
Habituellement, nous obtenons la saisie des utilisateurs via des formulaires HTML. Nous pouvons utiliser $ _post ou $ _get pour obtenir des données de formulaire. Pour plus de simplicité, supposons que nous ayons un formulaire HTML simple contenant l'entrée utilisateur:
<form method="post" action="validate.php">
<input type="text" name="user_input" placeholder="Veuillez saisir le contenu" />
<button type="submit">soumettre</button>
</form>
Dans validate.php , nous traiterons l'entrée de l'utilisateur.
Nous pouvons diviser l'entrée de chaîne par l'utilisateur en un tableau de caractères via la fonction str_split () . De cette façon, nous pouvons le traiter le caractère par caractère.
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$user_input = $_POST['user_input'];
// utiliser str_split Divisez l'entrée en un tableau de caractères
$chars = str_split($user_input);
// Imprimer le tableau des caractères divisés
print_r($chars);
}
?>
Le code ci-dessus divisera la chaîne entrée par l'utilisateur en un tableau de caractères et la sortira. Par exemple, la chaîne d'entrée Hello deviendra ['h', 'e', 'l', 'l', 'o'] .
Supposons que nous devons vérifier si chaque personnage est une lettre (c'est-à-dire s'il répond aux exigences de la lettre). Nous pouvons utiliser la fonction ctype_alpha () pour vérifier si le caractère est une lettre.
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$user_input = $_POST['user_input'];
// utiliser str_split Divisez l'entrée en un tableau de caractères
$chars = str_split($user_input);
// Vérifiez que chaque personnage est légal
foreach ($chars as $char) {
if (!ctype_alpha($char)) {
echo "Personnages illégaux:$char<br>";
}
}
}
?>
Dans cet exemple, nous parcourons chaque caractère et utilisons CTYPE_ALPHA () pour vérifier s'il s'agit d'une lettre. Si un personnage n'est pas une lettre, le système provoquera un caractère illégal.
Pour rendre le résultat plus convivial, nous pouvons collecter tous les caractères illégaux et donner des informations rapides.
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$user_input = $_POST['user_input'];
// utiliser str_split Divisez l'entrée en un tableau de caractères
$chars = str_split($user_input);
$invalid_chars = [];
// Vérifiez que chaque personnage est légal
foreach ($chars as $char) {
if (!ctype_alpha($char)) {
$invalid_chars[] = $char;
}
}
// 如果有Personnages illégaux,Sortir
if (count($invalid_chars) > 0) {
echo "Les personnages suivants sont illégaux: " . implode(', ', $invalid_chars);
} else {
echo "Tous les caractères entrés sont valides!";
}
}
?>
Dans cet exemple, tous les caractères illégaux sont collectés dans le tableau $ invalid_chars et concaténés dans une chaîne via la fonction implode () , et enfin la sortie.
Si vous devez accéder à certaines ressources via des URL pendant le processus de vérification, vous pouvez utiliser Curl ou File_get_Contents pour vérifier certaines ressources externes. En supposant que vous devez vérifier les données d'une API externe, nous pouvons le faire: