Halte aux déformations d'URL...


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4910
Inscription: 3 Fév 2004

Message le Ven Déc 10, 2004 9:15

Gaëtan R. a écrit:Effectivement, je suis sous Firefox mais à mon avis, ce n'est pas à l'utilisateur de s'adapter au forum, ce serait plutôt le contraire. :roll:

Quand à revenir sur cette sal...rie d'IE, ne comptez pas sur moi. :evil:

@erazor : oui les gens sont trop fainéants pour faire du BB Code correctement... :lol:

Avec Firefox :
Image

Avec IE :
Image

Oui sur FF ça foire bien, encore une chose qui m'énerve sur ce navigateur, j'ai bien fait de le balancer.
Sur Opéra aucun problème.


Gaëtan R.
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 311
Inscription: 26 Avr 2004

Message le Ven Déc 10, 2004 19:20

Il y a beaucoup trop de chose sur Opera, trop compliqué à mon goût. :?
Et comme la pub, ce n'est pas mon truc.... :wink:


EasyExpat
WRInaute impliqué
WRInaute impliqué
 
Messages: 500
Inscription: 8 Oct 2002

Message le Lun Sep 12, 2005 2:13

Bon je me suis penché 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 présentation 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 trouvé sur http://www.coffee2code.com/archives/200 ... link-urls/
D'abord il faut faire une fonction que j'ai appelé truncate_link :
Code: Tout sélectionner
// 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. Pour etre sur que la nouvelle fonction soit toujours disponibles pour phpBB, je recommende toutefois de mettre ca dans includes/function.php

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


Appliqué a PHPBB ca donne:

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

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


Remplacer par:
Code: Tout sélectionner
$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 implémenté un peu partout.
8)
Dernière édition par EasyExpat le Ven Sep 16, 2005 10:00, édité 2 fois.


Gaëtan R.
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 311
Inscription: 26 Avr 2004

Message le Mer Sep 14, 2005 8:37

Merci à toi EasyExpat. :)

Et merci à WRI pour avoir mis en place la fonctionnalité. ;)

http://www.google.fr/search?hs=UT6&hl=f ... cher&meta=

squawk
WRInaute accro
WRInaute accro
 
Messages: 5985
Inscription: 22 Mar 2004

Message le Mer Sep 14, 2005 8:41

ouaip moi aussi j'ai mis ça sur mon forum :wink: c'était sur ma "todo liste" des choses à faire, j'ai gagné du temps :)


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 19415
Inscription: 19 Avr 2002

Message le Mer Sep 14, 2005 8:42

Merci EasyExpat !


EasyExpat
WRInaute impliqué
WRInaute impliqué
 
Messages: 500
Inscription: 8 Oct 2002

Message le Mer Sep 14, 2005 11:13

De rien, la puissance d'Internet c'est le partage des connaissances :P


maxttb
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 477
Inscription: 27 Fév 2004

Message le Mer Sep 14, 2005 11:47

Gaëtan R. a écrit:Il y a beaucoup trop de chose sur Opera, trop compliqué à mon goût. :?
Et comme la pub, ce n'est pas mon truc.... :wink:

Pour le 10ème anniversaire, Opéra donnait des licences utilisateur gratuitement sur son site, ce qui permettait d'enlever les barres de publicité.
Cela dit, je reste tout de même utilisateur de Firefox à cause de webdevelopper.
PS: Le problème des URL longues apparait également sous Safari. Mais bon, en même temps, c'est pas excessivement génant...


Ohax
WRInaute accro
WRInaute accro
 
Messages: 6406
Inscription: 5 Juil 2004

Message le Mer Sep 14, 2005 11:50

Merci beaucoup pour ce code ;-)

Je vai le mettre en place sans tarder


EasyExpat
WRInaute impliqué
WRInaute impliqué
 
Messages: 500
Inscription: 8 Oct 2002

Message le Mer Sep 14, 2005 12:19

Ohax, qu'est ce que c'est que ce nouvel Avatar ? Wri censure les avatars ? ;-)


Ohax
WRInaute accro
WRInaute accro
 
Messages: 6406
Inscription: 5 Juil 2004

Message le Mer Sep 14, 2005 13:23

Il parait que mon fameux Image etait choquant...

pourtant je suis inscrit depuis le 05 Juil 2004 et on me sort ça un ans après...

enfin c'est pas grave :roll:

je commence juste à me poser de sérieuses questions...

j'ai mi cet avatar temporaire en attendant...


pour les détails contacte olivier mais revenons au sujet initial svp

Albert1
WRInaute impliqué
WRInaute impliqué
 
Messages: 935
Inscription: 23 Aoû 2005

Message le Mer Sep 14, 2005 13:33

Ohax a écrit:Il parait que mon fameux Image etait choquant...

perso, ça fait un moment (bien avant mon inscription) que je connaissais ce forum et surtout cet avatar ...
il va me manquer :(

je vais vite le sauver sur mon DD !


Cendrillon
WRInaute accro
WRInaute accro
 
Messages: 4940
Inscription: 17 Aoû 2004

Message le Mer Sep 14, 2005 13:51

Ohax a écrit:Il parait que mon fameux Image etait choquant...

pourtant je suis inscrit depuis le 05 Juil 2004 et on me sort ça un ans après...

enfin c'est pas grave :roll:

je commence juste à me poser de sérieuses questions...

j'ai mi cet avatar temporaire en attendant...


pour les détails contacte olivier mais revenons au sujet initial svp

je crois que tu es de mauvaise foi ohax ... :wink:
ce que tu oublies (volontairement ? :roll: ) de préciser c'est que tu as récemment ajouté à ton avatar (qui ne posait pas de problème jusqu'à maintenant) une référence à dieu (quelle soit humoristique ou pas n'est pas le sujet) ... ce qui est contraire aux règles du forum (et clairement expliqué ici) ... :wink:

par contre celui là : Image est de la pure provoc et je te demande de le changer le plus rapidement possible ... :wink:


parenthèses closes, revenons au sujet ...


EasyExpat
WRInaute impliqué
WRInaute impliqué
 
Messages: 500
Inscription: 8 Oct 2002

Message le Mer Sep 14, 2005 14:26

Pour revenir au sujet de départ, je vous signale que ca ne marche pas seulement pour phpBB, mais je m'en sers aussi pour les petites annonces, les contributions et les blogs... bref tous les endroits ou les utilisateurs peuvent intervenir (on ne se méfie jamais assez des utilisateurs ;-) )


EasyExpat
WRInaute impliqué
WRInaute impliqué
 
Messages: 500
Inscription: 8 Oct 2002

Message le Mer Sep 14, 2005 21:26

[EDIT]
Je recommende de mettre la fonction dans includes/function.php qui est inclue partout dans phpBB. Je l'avais mis dans un fichier a ma sauce mais comme il n'était pas inclu partout, ca faisait planter le flux RSS et la preview des messages...

Pour info on utilise e dans #...#ie afin d'évaluer l'expression (donc de pouvoir appeler une fonction php). Le s dans #...#is indique la prise en compte du caractere de fin de ligne \s. Je ne sais pas si c'est vraimment utile. Dans le doute vous pouvez écrire #...#ise ;-)

Pffff je me suis fait une petite frayeur avec ce probleme RSS 8)

Halte aux déformations d'URL...

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl

  • Analyse de popularité
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
  • Transformer des simples citations de votre site en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité