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

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par medium69, 4 Septembre 2005.

  1. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    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...
     
  2. Didier_S
    Didier_S WRInaute occasionnel
    Inscrit:
    24 Août 2004
    Messages:
    470
    J'aime reçus:
    2
    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)
     
  3. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    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.
    
     
  4. Sir Dipp
    Sir Dipp WRInaute impliqué
    Inscrit:
    21 Juillet 2003
    Messages:
    899
    J'aime reçus:
    0
    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+
     
  5. Monique
    Monique WRInaute passionné
    Inscrit:
    16 Septembre 2002
    Messages:
    1 153
    J'aime reçus:
    0
    Bonjour,
    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
    Amicalement,
    Monique
     
  6. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    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.
     
Chargement...
Similar Threads - [Astuce accessibilité] Couper Forum Date
[astuce] pour afficher les numéros dans les résultats de Google Référencement Google 27 Juin 2017
[Astuces] Augmenter le nombre de followers Twitter 11 Mai 2013
[astuce] ajouter un bouton Suivre au widget Twitter Twitter 7 Juillet 2012
[Astuce]Comment gagner des liens? Débuter en référencement 28 Janvier 2012
[Astuces] Minimiser le temps de chargement de vos pages web Débuter en référencement 10 Février 2010
[Astuce] Bannir les escrocs: interdire les visiteurs de certains pays Administration d'un site Web 27 Juin 2009
[astuce] l'url Rewriting et .htaccess pour FREE.FR URL Rewriting et .htaccess 3 Octobre 2006
[Astuce] Virtual Hosts et Développement Développement d'un site Web ou d'une appli mobile 18 Octobre 2005
[Astuce] Connaître rapidement le nombre de pages indexées Référencement Google 19 Mai 2005