Comment tronquer ou reduire les urls trop longues !



Attention : Cette page est une version light du forum
Accéder à la version complète du forum


 
       AdoJeunZ Index du Forum -> Programmation - Webmastering - Referencement
Ohax
EasyExpat a écrit: Bon je me suis penche sur le sujet ce soir, et voila une solution qui je pense conviendra.

Pour la petite histoire, il est possible de beaucoup intervenir sur EasyExpat, avec des contributions, des petites annonces, les forums... et autant d'occasion de mettre toute la presentation a terre avec une URL trop longue... :cry: J'en avais aussi un peu marre de repasser derriere les messages :evil:

J'ai repris une partie du code trouve sur http://www.coffee2code.com/archives/2004/07/08/plugin-auto-hyperlink-urls/
D'abord il faut faire une fonction que j'ai appele truncate_link :
Code: // mode: 0=full url; 1=host-only ;11+=number of characters to truncate after
function truncate_link ($url, $mode='0', $trunc_before='', $trunc_after='...') {
   if (1 == $mode)
   {
      $url = preg_replace("/(([a-z]+?):\\/\\/[A-Za-z0-9\-\.]+).*/i", "$1", $url);
      $url = $trunc_before . preg_replace("/([A-Za-z0-9\-\.]+\.(com|org|net|gov|edu|us|info|biz|ws|name|tv)).*/i", "$1", $url) . $trunc_after;
   }
   elseif (($mode > 10) && (strlen($url) > $mode))
   {
      $url = $trunc_before . substr($url, 0, $mode) . $trunc_after;
   }
   return $url;
}

Vous le mettez ou vous voulez, moi j'ai un fichier common inclus dans mes pages.

Ensuite il suffit d'activer vos URL ainsi:
Code: $text = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#ie",
      "'$1<a href=\"$2\" target=\"_blank\">' . truncate_link(\"$2\", \"70\", \"\", \"...\") . '</a>'", $text);

Applique a PHPBB ca donne:

:arrow: dans includes/bbcode.php
vers la ligne 628

chercher:
Code: $ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret);

Remplacer par:
Code: $ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#ie",
      "'$1<a href=\"$2\" target=\"_blank\">' . truncate_link(\"$2\", \"80\", \"\", \"...\") . '</a>'", $ret);

J'ai fait quelques tests, pour moi ca a l'air de marcher parfaitement, donc je l'ai implemente un peu partout.
8)

Site de l'auteur : http://www.easyexpat.com/

Source complète : http://www.webrankinfo.com/forums/viewtopic_19326.htm



Merci à lui ! Ca va resoudre bien des problèmes de deformation des pages !

Je vait mettre cela en place dans le cour de la journee.
Ohax
http://www.google.com/search?sourceid=navclient-ff&ie=UTF-8&q=adojeunz%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20
Ohax
ça marche :D

si vous avez le moindre bug n'hesitez pas à me le signaler ;-)

eventuellement vous pouvez tester si vous le desirez
Bêê
Joli :)
Ohax
Fini les deformations maintenant :D (enfin ça ne marche que pour les urls ;-) )

pour les images c'est du javascript qui reduit à 500 de largeur les images > 500 pixels
 
       AdoJeunZ Index du Forum -> Programmation - Webmastering - Referencement
Page 1 sur 1

phpBB Search Engine Indexer © phpRebel
Powered by phpBB2001, 2002 phpBB Group
Traduction par : phpBB-fr.com