php:strcspn

Un article de Polydoc.

Sommaire

[modifier] Synopsis

entier strcspn  ( chaine $chaine_a_analyser  , chaine $caracteres_exclus  [, entier $debut  [, entier $longueur  ]] )

[modifier] Description

strcspn( ) retourne la taille du premier segment de $chaine_a_analyser qui ne contient aucun élément de $caracteres_exclus.

[modifier] Notes

Depuis PHP 4.3.0, strcspn( ) accepte deux paramètres de type entier optionnels qui peuvent être utilisés pour définir la position de départ $debut et la longueur $longueur de la chaîne à examiner.

[modifier] Exemples

$texte = "Longueur de la chaine sans 0123456789";
$caracteres_exclus = "0123456789";
$longueur_chaine = strlen($texte);
$longueur_chaine_sans_exclus = strcspn($texte, $caracteres_exclus);
 
echo 
'$longueur_chaine_sans_exclus = '.$longueur_chaine_avec_exclus.'<br/>
$longueur_chaine_sans_exclus = '.$longueur_chaine_sans_exclus;

...devrait donner :

$longueur_chaine = 37

$longueur_chaine_sans_exclus = 27

En effet, tous les espaces vides sont comptés, de même que tous les caractères à partir du début de $chaine_a_analyser jusqu'à ce que l'analyse rencontre un des caractères de $caracteres_exclus.


Si on précise $debut et $longueur (éléments optionnels), strcspn analysera $chaine_a_analyser en commençant au caractère $debut jusqu'à rencontrer un caractère de $caracteres_exclus ou bien que $longueur ait été atteinte. Le résultat ne tient pas compte de $debut mais compte les espaces vides.

$texte = "abcdefg 0123456789";
$caracteres_exclus = "0123456789";
 
$longueur_depuis_d_jusqua_zero = strcspn($texte, $caracteres_exclus,4);
$longueur_depuis_d_pendant_3_caracteres = strcspn($texte, $caracteres_exclus,4,3);
$longueur_depuis_d_pendant_7_caracteres = strcspn($texte, $caracteres_exclus,4,7);
 
 
echo 
'$longueur_depuis_d_jusqua_zero = '.$longueur_depuis_d_jusqua_zero.'<br/>
$longueur_depuis_d_pendant_3_caracteres = '.$longueur_depuis_d_pendant_3_caracteres.'<br/>
$longueur_depuis_d_pendant_7_caracteres = '.$longueur_depuis_d_pendant_7_caracteres;

...devrait donner :

$longueur_depuis_d_jusqua_zero = 4

$longueur_depuis_d_pendant_3_caracteres = 3

$longueur_depuis_d_pendant_7_caracteres = 4

[modifier] Liens

Lien vers la doc php : [1]

Lien vers strlen( ) (Polydoc) [[2]]