Je voudrais tester des caracteres dans une chaine. Par exemple savoir si c’est une lettre ou un chiffre.
Plus precisement, j’ai une chaine du genre “ABC1234” ou “AB123” . A la base je veux récupérer ABC.
Donc je voulais faire ca en testant chaque caractere. et si les 3 premiers sont des lettres alors je les
recupere.
if (preg_match('/[a-z]{3}[a-z0-9]*/i', $chaine)) {
echo substr($chaine, 0, 3);
}
Sinon pour information :
$chaine{$i} est déprécié voire abandonné en php6, utilise toujours $chaine[$i]
ord($chaine[$i]) >= 65 AND … : utilise &&, le AND ne sert à rien ici.
rien ne dit que ord($chaine[$i]) pour ‘a’ ait toujours la valeur 65. (à priori : ord(‘a’) est mieux). En fait ça dépend de l’encoding, etc… donc à éviter