Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

Greamlin
2006-08-27 21:26:04

Merci beaucoup effectivement cela est une solution, mais j'ai aussi touvé une autre solution sur le net qui consiste à distinguer les adresses locales des autres...
Ceci permet d'ouvrir sur la même fen^tre ce qui est local et dans une nouvelle fenêtre ce qui est externe.

Je vous livre ce que j'ai trouvé :
#
#-----[ OUVRIR ]------------------------------------------
#
includes/bbcode.php

#
#-----[ CHERCHER ]------------------------------------------
#
    // We do URLs in several different ways..
    $bbcode_tpl['url1'] = str_replace('{URL}', '\\1', $bbcode_tpl['url']);
    $bbcode_tpl['url1'] = str_replace('{DESCRIPTION}', '\\1', $bbcode_tpl['url1']);

    $bbcode_tpl['url2'] = str_replace('{URL}', 'http://\\1', $bbcode_tpl['url']);
    $bbcode_tpl['url2'] = str_replace('{DESCRIPTION}', '\\1', $bbcode_tpl['url2']);

    $bbcode_tpl['url3'] = str_replace('{URL}', '\\1', $bbcode_tpl['url']);
    $bbcode_tpl['url3'] = str_replace('{DESCRIPTION}', '\\2', $bbcode_tpl['url3']);

    $bbcode_tpl['url4'] = str_replace('{URL}', 'http://\\1', $bbcode_tpl['url']);
    $bbcode_tpl['url4'] = str_replace('{DESCRIPTION}', '\\3', $bbcode_tpl['url4']);

#
#-----[ APRES AJOUTER ]------------------------------------------
#
    // MOD LOCAL URL BEGIN
    $bbcode_tpl['url_local1'] = str_replace('{URL}', '\\1\\2\\3', $bbcode_tpl['url_local']);
    $bbcode_tpl['url_local1'] = str_replace('{DESCRIPTION}', '\\1\\2\\3', $bbcode_tpl['url_local1']);

    $bbcode_tpl['url_local2'] = str_replace('{URL}', 'http://\\1\\2', $bbcode_tpl['url_local']);
    $bbcode_tpl['url_local2'] = str_replace('{DESCRIPTION}', '\\1\\2', $bbcode_tpl['url_local2']);

    $bbcode_tpl['url_local3'] = str_replace('{URL}', '\\1\\2\\3', $bbcode_tpl['url_local']);
    $bbcode_tpl['url_local3'] = str_replace('{DESCRIPTION}', '\\4', $bbcode_tpl['url_local3']);
   
    $bbcode_tpl['url_local4'] = str_replace('{URL}', 'http://\\1\\2', $bbcode_tpl['url_local']);
    $bbcode_tpl['url_local4'] = str_replace('{DESCRIPTION}', '\\3', $bbcode_tpl['url_local4']);
    // MOD LOCAL URL END

#
#-----[ CHERCHER ]------------------------------------------
#
    // [img]image_url_here[/img] code..
    // This one gets first-passed..

#
#-----[ AVANT AJOUTER ]------------------------------------------
#
    // MOD LOCAL URL BEGIN
    // do any local urls first...
    // xxxx://www.phpbb.com code..
    $local_patterns[1] = "#\[url\]([a-z]+?://){1}(".$_SERVER["SERVER_NAME"].")([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]*)\[/url\]#si";
    $local_replacements[1] = $bbcode_tpl['url_local1'];                       

    // www.phpbb.com code.. (no xxxx:// prefix).
    $local_patterns[2] = "#\[url\](".$_SERVER["SERVER_NAME"].")([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]*)\[/url\]#si";
    $local_replacements[2] = $bbcode_tpl['url_local2'];

    // phpBB code..
    $local_patterns[3] = "#\[url=([a-z]+?://){1}(".$_SERVER["SERVER_NAME"].")([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]*)\](.*?)\[/url\]#si";
    $local_replacements[3] = $bbcode_tpl['url_local3'];

    // phpBB code.. (no xxxx:// prefix).
    $local_patterns[4] = "#\[url=(".$_SERVER["SERVER_NAME"].")([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]*)\](.*?)\[/url\]#si";
    $local_replacements[4] = $bbcode_tpl['url_local4'];
   
    $text = preg_replace($local_patterns, $local_replacements, $text);
    // now with the local urls done, it's safe to do any external urls
    // MOD LOCAL URL END

#
#-----[ CHERCHER ]------------------------------------------
#
// matches an "xxxx://yyyy" URL at the start of a line, or after a space.

#
#-----[ AVANT AJOUTER ]------------------------------------------
#
// MOD LOCAL URL BEGIN
// match a local URL and replace with a target="_self" href
$ret = preg_replace("#([\n ])([a-z]+?)://(".$_SERVER["SERVER_NAME"].")((?:/[^\t <\n\r]*)?)#i", "\\1<a href=\"\\2://\\3\\4\" target=\"_self\">\\2://\\3\\4</a>", $ret);
$ret = preg_replace("#([\n ])(".$_SERVER["SERVER_NAME"].")((?:/[^\t <\n\r]*)?)#i", "\\1<a href=\"http://\\2\\3\" target=\"_self\">\\2\\3</a>", $ret);
// MOD LOCAL URL END


#
#-----[ OUVRIR ]------------------------------------------
#
templates/subSilver/bbcode.tpl

#
#-----[ CHERCHER ]------------------------------------------
#
<!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url -->

#
#-----[ APRES AJOUTER ]------------------------------------------
#
<!-- BEGIN url_local --><a href="{URL}" target="_self" class="postlink">{DESCRIPTION}</a><!-- END url_local -->

#
#-----[ SAUVEGARDER/FERMER TOUS LES FICHIERS ]------------------------------------------
#

Qu'en pensez-vous?

Mael
2006-08-27 21:11:46

Facile plutôt que de t'emmerder à trouver ça, regarde plutôt du côté du fichier template/TON TEMPLATE/bbcode.tpl, la ligne 58 tu la remplaces par

Code:

<!-- BEGIN url --><a href="{URL}"  class="postlink">{DESCRIPTION}</a><!-- END url -->

De cette façon, tous tes liens en BBCode dans les News s'ouvriront dans la même fenètre (démo ici)

Greamlin
2006-08-27 20:46:39

Bonsoir,

encore un souci...En fait je désire faire pointer vers une catérie ou une image. dans un édito, cela se traduisait comme ceci :
   <a href="./index.php?/category/24">

L'adresse était relative sans avoir à utiliser http://....

Comment peut-on faire cela avec les BBCode car si je mets l'url complète, en cliquant sur le lien il ouvre une onouvelle fenêtre.

Merci pour vos réponses.

Greamlin
2006-08-27 19:21:21

Super cela fonctionne.

Merci pour l'info, je ne connaissait pas ce BBCode... Est-ce spécifique ou je peut obtenir quelques infos explicatives de cette "classe" ? "fonction"? "propriétéé?

En tout cas merci beaucoup...

Mael
2006-08-27 18:56:09

Nromalement dans include/config_local.inc.php tu as du faire une modif et rajouter des configs. Parmis ces configs il y'a si je ne me trompe pas l'activation des BBCodes! Les BBCodes servent, comme sur ce forum, lorsque tu tapes une adresse http://url à la transformer en lien direct vers le site. Pour faire apparaître autre chose que le lien, il te suffit d'écrire

(crochet ouvert)url=TON URL(crochet fermé)ce que tu veux pour désigner le lien(crochet ouvert)/url(crochet fermé)

Greamlin
2006-08-27 17:47:39

Pour moi le texte s'affiche comme du texte pas de lien hypertexte que ce soit en utilisant :
   - http://url
   - <a href="url">Nom</a>

cela ne se traduit pas dans la présentation...

Si quelqu'un sait pourquoi?

robin64
2006-08-27 14:16:31

Salut
Il suffit simplement d'insérer ton lien en créant la news
sous la forme:
Insérer un lien: http://url/ ou Nom

Greamlin
2006-08-26 18:34:43

Peut-on mettre des news au format html afin d'y insérer des liens directs vers les images ou les galleries?

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact