-
PHP > tests sur les chaines de caractères
ALPHA ? NUM ? ALPHANUM ?
chaine alphabétique
ctype_alpha ($var)
Retourne VRAI si chaque caractère de
$var
est une lettre de la locale courante ( [A-Za-z] ), sinon retourne FALSE.$chaine = array('KjgWZC', 'arf12'); foreach ($chaine as $var) { if (ctype_alpha($var)) { echo "La chaîne $var ne contient que des lettres."; }else{ echo "La chaîne $var ne contient pas que des lettres."; } }
renvoie :
La chaîne KjgWZC ne contient que des lettres. La chaîne arf12 ne contient pas que des lettres.
chaine alphanumérique
bool ctype_alnum ($var)
Retourne VRAI si chaque caractère de
$varest soit un nombre, soit une lettre.CASSE
Majuscule
ctype_upper($var)- Vérifie qu’une chaîne est en majusculesMinuscule
ctype_lower() - Vérifie qu’une chaîne est en minuscules
POSITION
Premier caractère
$var[0]
Dernier caractère
substr($var,-1)
Quelle est la position
strpos ( $var , $toto , $offset ) stripos ( $var , $toto , $offset )
Donne la position de la première occurrence de
$toto
dans la chaîne de caractères$var
. La position commence à 0.stripos(): ne tient pas compte de la cassestrrpos()Position de la dernière occurrencestrripos()Position de la dernière occurrence, de façon insensible à la cassestrstr()- Trouve la première occurrence dans une chaîneParamètres :
$var
La chaîne dans laquelle on doit chercher.$toto
La chaine ou le caractère à trouver.offset
Si spécifié, la recherche commencera à partir de ce nombre de caractères compté depuis le début de la chaîne.Si négatif, la recherche commencera en utilisant ce nombre de caractères mais en commençant par la fin de la chaîne.
Retourne FALSE si l’occurrence n’a pas été trouvée.
NOTE : Utiliser l’opérateur
===pour tester la valeur de retour exacte de cette fonction.Exemple #1 Avec ===
$mystring = 'abc'; $findme = 'a'; $pos = strpos($mystring, $findme); if ($pos === false) { echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'"; }else{ echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring'"; echo " et débute à la position $pos"; }
Exemple #2 Avec !==
$mystring = 'abc'; $findme = 'a'; $pos = strpos($mystring, $findme); if ($pos !== false) { echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring'"; echo " et débute à la position $pos"; }else{ echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'"; }
Exemple 3 (avec offset):
$newstring = 'abcdef abcdef'; $pos = strpos($newstring, 'a', 1); // $pos = 7, non pas 0
Voir aussi
strpbrk()- Recherche un ensemble de caractères dans une chaîne de caractèressubstr()- Retourne un segment de chaînepreg_match()- Effectue une recherche de correspondance avec une expression rationnelle standardLes 3 derniers caractères
substr($var, -3);
substr
substr ( $string , $start , $length )
Retourne le segment de
string
défini parstart
etlength
.Paramètres
string La chaîne d’entrée.
start Si start > 0, la chaîne retournée commencera au caractère numéro start, dans la chaîne string. Le premier caractère est numéroté zéro.
Si start < 0, la chaîne retournée commencera au caractère numéro start à compter de la fin de la chaîne string.
Si string est plus petit que start caractères de long, FALSE sera retourné.
Exemple #1
$rest = substr("abcdef", -1); // retourne "f" $rest = substr("abcdef", -2); // retourne "ef" $rest = substr("abcdef", -3, 1); // retourne "d"
lengthSi length est fourni et est positif, la chaîne retournée contiendra au plus length caractères, en commençant à partir du caractère start (en fonction de la taille de la chaîne string). Si length est fourni et négatif, alors le même nombre de caractères sera omis, en partant de la fin de la chaîne string. Si start représente une position hors de la chaîne, FALSE sera retournée. Si le paramètre length est fourni et vaut 0, FALSE ou NULL, une chaîne vide sera retournée. Si length est omis, la sous chaine commençant à partir de start jusqu’à la fin sera retournée.Exemple #2 length
$rest = substr("abcdef", 0, -1); // retourne "abcde" $rest = substr("abcdef", 2, -1); // retourne "cde" $rest = substr("abcdef", 4, -4); // retourne false $rest = substr("abcdef", -3, -1); // retourne "de"
Valeurs de retour
Retourne la partie extraite de la chaîne
string
; ouFALSE
si une erreur survient ou une chaine vide.Exemple #3
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f// Accéder à un simple caractère dans une chaîne
// peut également être réalisé en utilisant des crochets
$string = 'abcdef';
echo $string[0]; // a
echo $string[3]; // d
echo $string[strlen($string)-1]; // fExemple #4 Comportement du cast avec substr()
class apple { public function __toString() { return "green"; } } echo "1) ".var_export(substr("pear", 0, 2), true).PHP_EOL; echo "2) ".var_export(substr(54321, 0, 2), true).PHP_EOL; echo "3) ".var_export(substr(new apple(), 0, 2), true).PHP_EOL; echo "4) ".var_export(substr(true, 0, 1), true).PHP_EOL; echo "5) ".var_export(substr(false, 0, 1), true).PHP_EOL; echo "6) ".var_export(substr("", 0, 1), true).PHP_EOL; echo "7) ".var_export(substr(1.2e3, 0, 4), true).PHP_EOL;
Résultat de l’exemple ci-dessus en PHP 7 :
1) 'pe' 2) '54' 3) 'gr' 4) '1' 5) '' 6) '' 7) '1200'
Résultat de l’exemple ci-dessus en PHP 5 :
1) 'pe' 2) '54' 3) 'gr' 4) '1' 5) false 6) false 7) '1200'
Voir aussi
strrchr() - Trouve la dernière occurrence d’un caractère dans une chaîne
substr_replace() - Remplace un segment dans une chaîne
preg_match() - Effectue une recherche de correspondance avec une expression rationnelle standard
trim() - Supprime les espaces (ou d’autres caractères) en début et fin de chaîne
mb_substr() - Lit une sous-chaîne
wordwrap() - Effectue la césure d’une chaîne