[Astuce accessibilité] Couper un intitulé de lien trop grand

WRInaute passionné
J'ai besoin de couper une chaine de caractères selon les conditions suivantes :

Avec cela je sais couper ma chaine, mais cela peut couper un mot, ce que je ne veux pas.
La chaine doit faire au maximum 50 caratères par exemple, mais en mots entier.
Code:
substr($chaine, 0, 50)

Je butte dessus. Si vous avez une solution pas trop complexe...

J'ai résolu mon problème et je vous donne la solution si cela peut vous rendre service
 
WRInaute occasionnel
tu prends le morceau de chaine que tu obtiens par ton substr, et tu coupes la fin jusqu'au dernier espace ? ça te fera une chaîne un peu plus courte, mais qui ne coupera pas de mots.
si c'est bien ce que tu cherches, et que tu as du mal à le mettre en place, MP moi (ou MSN)
 
WRInaute passionné
J'ai réussi ce que je cherchais à faire.
Pour rendre un site accessible, une des normes à respecter est de ne pas avoir d'intitulé de lien supérieur à 80 caractères.

Je me sert donc de ce code pour respecter cette indication lors d'un affichage de lien RSS par exemple.

Je vous le donne si cela peut rendre service à quelqu'un
Code:
$chaine = explode(' ', substr($lien, 0, 80) ); // on met chaque mot de la chaine dans un tableau
echo '<a href="http;//LeLien.com">';
for ($i = 0; $i < count($chaine) - 1 ; $i ++) { echo ' '.$chaine[$i]; } // on affiche toutes les occurences de la chaine sauf la dernière
echo '</a> '.$chaine[$i].substr($lien, 80); // On affiche la dernière occurence et le restant de l'intitulé du lien.
 
WRInaute impliqué
Salut,

Je pense qu'il y encore plus simple et encore plus cours, tu pourras même en faire une fonctione :)

Code:
<?
$nb = 200;
$Txt = (strlen($Txt) > $nbcar) ? ereg_replace("(.{$nb})( .*)$","\\1 ...", $Txt) : $Txt;
?>

a+
 
WRInaute passionné
Bonjour,
medium69 a dit:
Pour rendre un site accessible, une des normes à respecter est de ne pas avoir d'intitulé de lien supérieur à 80 caractères.
Oui mais... ce critère est propre à Accessiweb et ajouté à ceux des WCAG.

Je n'en conteste pas l'utilité mais il ne joue pleinement son rôle que si la directive 13.1 est respectée
13.1 Identifier clairement la cible de chaque lien. [Priorité 2]
Les liens textes evraient être suffisemment explicites pour être compréhensibles même lorsque on les lit en dehors de leur contexte - de manière isolée ou parmi d'autres liens. Les liens textes doivent également être concis.
Par exemple, en HTML, écrivez "Information sur la version 4.3" au lieu de "cliquez ici". En plus du lien en version texte, les développeurs pourraient spécifier la cible d'un lien à l'aide d'un lien informatif sous forme de titre (par ex. en HTML, l'attribut "title")

Amicalement,
Monique
 
WRInaute passionné
C'est vrai, mais dans mon cas le lien reste toujours compréhensible et de surcroit, je remplis l'attribut title avec un complément.
 
Discussions similaires
Haut