(PHP 4, PHP 5, PHP 7)
strspn — Trouve la longueur du segment initial d'une chaîne contenant tous les caractères d'un masque donné
$subject
, string $mask
[, int $start
[, int $length
]] )
Trouve la longueur du segment initial de subject
qui contient uniquement les caractères
depuis le masque mask
.
Si les paramètres start
et length
sont omis, alors toutes les chaînes subject
seront
analysées. S'ils sont fournis, alors les effets seront identiques à appeler
strspn(substr($subject, $start, $length), $mask)
(voir substr pour plus d'informations).
Le code suivant :
<?php
$var = strspn("42 est la réponse, mais quelle est la question.", "1234567890");
?>
subject
dont les caractères sont contenus dans
"1234567890".
subject
La chaîne à analyser.
mask
La liste des caractères autorisés.
start
La position dans la chaîne subject
à
partir de laquelle nous devons chercher.
Si start
est fourni et n'est pas négatif,
alors strspn() commencera à analyser la chaîne
subject
à la position start
.
Par exemple, dans la chaîne 'abcdef', le caractère
à la position 0 est 'a', le caractère
à la position 2 est 'c', et ainsi
de suite.
Si start
est fourni et est négatif,
alors strspn() commencera à analyser la chaîne
subject
à la position start
depuis la fin de la chaîne subject
.
length
La longueur de la chaîne à analyser.
Si length
est fourni et n'est pas négatif,
alors subject
sera examiné sur
length
caractères après la position de départ.
Si length
est fourni et est négatif,
alors subject
sera examiné sur
length
caractères depuis la fin
de la chaîne subject
.
Retourne la taille du segment initial de la chaîne
subject
qui est entièrement
constitué de caractères contenus dans mask
.
Note:
Lorsque le paramètre
start
est défini, la longueur retournée est comptée à partir de cette position, et non depuis le début du paramètresubject
.
Exemple #1 Exemple avec strspn()
<?php
// Le sujet ne commence pas par un des caractères depuis le masque
var_dump(strspn("foo", "o"));
// Examine 2 caractères depuis le début du sujet, à la position 1
var_dump(strspn("foo", "o", 1, 2));
// Examine un caractère depuis le début du sujet, à la position 1
var_dump(strspn("foo", "o", 1, 1));
?>
L'exemple ci-dessus va afficher :
int(0) int(2) int(1)
Note: Cette fonction gère les chaînes binaires.