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. |
|