Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tronquet une url

Sujet résolu
    14 février 2006 à 6:40:05

    Bonjour tout le monde,

    Je suis en train de refaire mon site, et la je bloque sur un bout du forum. Mon idée est la suivante, je cherche à tronquer l'affichage d'une URL qui est trop longue.
    Voila l'idée, c'est coupé l'affichage d'une URL qui dépasse un nombre de caractere limité. Quand un membre rentre, on va dire www.url_trop_longue.fr, php va enregistré ca sous la forum
    <a href="www.url_trop_longue">www.url_coupé.....</a>


    Pour ca, je pense faire:
    • Recherche la presence d'un lien
    • Compter le nombre de caractere de l'url (strlen)
    • Si l'url est trop longue, on coupe la fin (petite condition toute simple à partir de ce que renvoi le strlen)
    • Et on remmet la variable final dans le texte de l'utilisateur (str_replace)


    Le problème que je rencontre est de pouvoir identifier l'url pour la mettre ensuite dans une variable. On peut facilement trouver où elle commence car toute url commence de la meme facon (http://, www.,ftp:// pour la plus part) mais comment trouver où elle fini ?

    Ensuite, il faut doit mettre notre url pour la retravailler.

    Il faut également couper l'url pour faire un affichage potable.

    Voila un le début de script que j'ai trouvé. Mais je manque d'idée pour boucher les trou. Et la j'ai besoin de lumière !

    <?php
    // Création de la variable avec le texte que l'utilisateur à tapé
    $texte = 'Voila un site pas mal http://www.monsite.fr/truc.machin/hiphip/hourra blablabla.';

    //On recherche dans $texte les url
    // .....


    // Si on en trouve, on les isoles dans une nouvelle variable $url_trouvé pour travailler l'url
    //....

    // On compte le nombre de caractere de l'URL.
    $longueur_url = strlen ($url_trouvé);


    if ($longueur_url > 25) // Si l'URL est plus longue que 25, on va la couper
    {
            /* Script pour couper l'url

            Ensuite on colle l'url tronqué dans le texte d'origine*/

            str_replace($url_longue,'<a href="' . $url_longue . '">' . $url_courte . ' ....</a>',$texte);
    }
    else //Si l'url n'est pas trop longue on colle juste le html, et zouuu
    {
            str_replace($url_longue, '<a href="' . $url_longue . '">' . $url_courte . '</a>',$texte);
    }
    ?>
    • Partager sur Facebook
    • Partager sur Twitter
      14 février 2006 à 8:46:40

      Merci, j'avais pas pensé au regex :-°
      Il me reste le plus chiant, trouver comment faire tourner ca dans phpbb :p
      • Partager sur Facebook
      • Partager sur Twitter

      Tronquet une url

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown