[accessibilite-numerique] Comptage des caractères

Pascal Gautronneau pascal at webu.fr
Mer 6 Sep 02:57:17 EST 2006


Bonjour Jean-Louis,

En fait, cette fonction me sert à générer les titles sur les liens genre 
"Permalien" dans le blog. Ca me permet de mettre des title du genre 
"Permalien vers le billet : 'titre du billet'" en étant sur que le titre 
ainsi créé ne fera pas plus de 80 caractères.

Mon collègue qui a fait la fonction est passé par un array : il a 
"explosé" la chaine de caractère dans un array et compté ensuite le 
nombre d'éléments ce qui règle le problème à priori.

Du coup, j'ai une question subsidiaire : quand la chaine est coupée, on 
ajoute "..." à la fin. Si au lieu d'ajouter "..." on ajoute "&ellip;" 
cela compte-t-il pour un seul caractère ?

Merci
Pascal

Jean-Louis BATAILLE a écrit :
>
> Bonjour Pascal,
>
> Tout d’abord, il faut bien différencier « caractère affiché » et « 
> nombre d’octets » utiles pour coder un caractère.
>
> Le calcul est plus simple pour les jeux de caractères comme iso-8859-1 
> qui codifient la plupart des caractères occidentaux sur 1 seul octet.
>
> Par contre la tâche peut se compliquer avec d’autres jeux de caractères.
>
> J’ai remarqué que le site webu.fr utilise le jeu de caractères UTF-8.
>
> Et là effectivement, la taille d’une chaîne de caractères calculée à 
> l’aide de la fonction strlen en PHP peut être différente du nombre de 
> caractères édités.
>
> En effet, comme tu as pu le constater, certains caractères occupent 
> plus d’un octet et faussent ainsi le résultat.
>
> Le nombre de caractères à considérer pour respecter les 
> recommandations en matière d’accessibilité concerne logiquement le 
> nombre de caractères affichés et non le nombre d’octets résultant de 
> la fonction strlen.
>
> Si tu tiens absolument à automatiser ce contrôle, il faudra je pense, 
> passer par une table de correspondance du genre : caractère affiché 
> <-> nombre d’octets utiles en UTF-8, ou alors convertir dans ta 
> fonction, chaque lien et chaque title, de UTF-8 vers ISO 8859-1 à 
> l’aide de la fonction iconv, avant de l'évaluer ensuite à l’aide de la 
> fonction strlen.
>
> Mais peut-être existe-t-il une solution plus simple ou que ce genre de 
> script est disponible sur le Net, quitte à l’adapter ?
>
> Tout dépend de l’usage que tu comptes faire de ta fonction et du 
> contexte dans lequel tu souhaites t’en servir.
>
> Dans un premier temps, la fonction strlen pourra peut-être suffire si, 
> même codés en UTF-8, la plupart des liens et des titles ne dépassent 
> pas la taille recommandée.
>
> Ceux qui la dépasseraient nécessiteraient alors dans un second temps, 
> une vérification humaine.
>
> Cordialement.
>
> Jean-Louis BATAILLE
>
> ----- Original Message -----
> From: "Pascal Gautronneau" <pascal at webu.fr <mailto:pascal at webu.fr>>
> To: <accessibilite-numerique at list.accessiweb.org 
> <mailto:accessibilite-numerique at list.accessiweb.org>>
> Sent: Tuesday, September 05, 2006 3:57 PM
> Subject: [accessibilite-numerique] Comptage des caractères
>
> Bonjour,
>
> je suis en train de faire une fonction php pour compter les caractères
> afin de respecter les nombre de caractères autorisés dans les titres, 
> alt...
>
> Quelqu'un pourrait-il me donner la manière exacte pour compter les
> caractères ? Je sais qu'on compte les espaces et la ponctuation mais il
> me semble qu'il y a une histoire de caractères accentués qui compte pour
> deux caractères. Si c'est bien le cas, qu'entent-on par "caractères
> accentués" ?
>
> Merci
> Pascal
>
> -- 
> Pascal Gautronneau
> 06 22 60 32 94
>
> WebU - L'internet Utile
> ZI percevaliére B14c
> 38170 Seyssinet Pariset
> www.webu.fr <http://www.webu.fr> - 04 76 09 55 08
>
>
> _______________________________________________
> accessibilite-numerique mailing list
> accessibilite-numerique at list.accessiweb.org 
> <mailto:accessibilite-numerique at list.accessiweb.org>
> http://list.accessiweb.org/mailman/listinfo/accessibilite-numerique_list.accessiweb.org
>
>
>
> -- 
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.405 / Virus Database: 268.11.7/437 - Release Date: 04/09/2006
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> accessibilite-numerique mailing list
> accessibilite-numerique at list.accessiweb.org
> http://list.accessiweb.org/mailman/listinfo/accessibilite-numerique_list.accessiweb.org
>   


-- 
Pascal Gautronneau
06 22 60 32 94
                                         
WebU - L'internet Utile
ZI percevaliére B14c
38170 Seyssinet Pariset
www.webu.fr - 04 76 09 55 08 




Plus d'informations sur la liste de diffusion accessibilite-numerique