News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

convertire tag code in tag url

Started by iobit, April 30, 2011, 02:17:27 PM

Previous topic - Next topic

iobit

Ciao,
è possibile con un mod, fare in modo che gli utentti quando postano anche se inseriscono il tag www.link.com
nel sito appare comunque l'url cliccabile link.com?
Grazie

emanuele

Hai già abilitato in admin -> post e topic -> Bulletin Board Code l'opzione [em]Link automaticamente gli URL postati[/em]?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

iobit

Si : Automatically link posted URLs:    è abilitato

emanuele

Allora dovrebbero già essere convertiti automaticamente, no?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

Darknico

o forse intendi dentro il tag code?
Italian SMF - Supporto Italiano per la board SMF - Ci trovate tutti li!! :)


iobit

@emanuele: non è attivo percho i link rimangono nel tag code e non sono cliccabili

@darknico : andrebbe bene anche nel tag code
grazie

emanuele

Pardon, stavo facendo un'altra cosa e non ho letto bene il titolo del topic...

...altra domanda: devi proprio mettere gli URL in un tag code? Non hai un'altra soluzione? (se vuoi/puoi spiegare il contesto si può vedere di proporre alternative)
Per "rispondere" invece alla tua domanda: dipende da quanto ti serve in altre situazioni il tag code. Se non ti serve cambi il codice con quello del tag url.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

iobit

mi piacerrebbe avere  tutti link cliccabili anche quando un'utente li racciude ta il tag code

emanuele

Senza "distruggere" il tag code non credo si possa fare...
E per distruggere intendo una di queste due:
1) far fare il parsing del bbcode all'interno dei tag code
2) convertire in toto il tag code in una replica del tag url

Se una delle due è accettabile...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

iobit


emanuele

Sorry, non ho finito la frase...oggi sono un po' perso...
Se una delle due è accettabile dimmi pure che ti dico come fare! ;)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

Darknico

Ma perchè deve essere cliccabile su un tag che serve a fare tutt'altro???
A quale pro?
Italian SMF - Supporto Italiano per la board SMF - Ci trovate tutti li!! :)


iobit

Quote from: emanuele on May 01, 2011, 04:08:58 PM
Sorry, non ho finito la frase...oggi sono un po' perso...
Se una delle due è accettabile dimmi pure che ti dico come fare! ;)

:) scegli tu il metodo quello che useresti per te  ;)
grazie

iobit

Quote from: Darknico on May 02, 2011, 03:31:34 AM
Ma perchè deve essere cliccabile su un tag che serve a fare tutt'altro???
A quale pro?
perchè è un forum dove gli utenti inseriscono link ad altri siti(per scambio) ed alcuni usano il tag code....

emanuele

Io non ne userei nessuno perché il tag code ha un certo significato e pesterei i calli a chiunque usa il tag code per racchiudere un url! >:( :P

Comunque chiedo cosa vuoi tu perché dipende da cosa succede nel tuo specifico caso.
Se i tuoi utenti postano qualcosa tipo:
[code][url=http://quello-che-vuoi.it[/url][ /code]

è un conto, ma se ad esempio postano
guarda che spettacolo questo sito: [code][url=http://quello-che-vuoi.it[/url][ /code]
allora la situazione è un'altra...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

Darknico

Quote from: iobit on May 02, 2011, 11:20:30 AM
Quote from: Darknico on May 02, 2011, 03:31:34 AM
Ma perchè deve essere cliccabile su un tag che serve a fare tutt'altro???
A quale pro?
perchè è un forum dove gli utenti inseriscono link ad altri siti(per scambio) ed alcuni usano il tag code....

e perchè li usano?

Quote from: emanuele on May 02, 2011, 11:25:49 AM
Io non ne userei nessuno perché il tag code ha un certo significato e pesterei i calli a chiunque usa il tag code per racchiudere un url! >:( :P

appunto...
Il tag code è utilizzato per racchiundere dentro codice, qualsiasi cosa inserita non viene convertita ed è quello il suo scopo..
Di ai tuoi utenti che non devono usarlo per postare URL...
Italian SMF - Supporto Italiano per la board SMF - Ci trovate tutti li!! :)


iobit

Quote from: emanuele on May 02, 2011, 11:25:49 AM

Questo:


Comunque chiedo cosa vuoi tu perché dipende da cosa succede nel tuo specifico caso.
Se i tuoi utenti postano qualcosa tipo:
[code][url=http://quello-che-vuoi.it[/url][ /code]

emanuele

ehhh...ops...adesso che ci penso però nemmeno questo è possibile...si può farlo funzionare come il quote...

Onestamente credo che la soluzione migliore sia un bel martello (oppure anche tu che modifichi i messaggi tanto dubito siano millemila), comunque...
Apri Subs.php, quindi cerca:
array(
'tag' => 'code',
'type' => 'unparsed_content',
'content' => '<div class="codeheader">' . $txt['code'] . ': <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">' . $txt['code_select'] . '</a></div>' . ($context['browser']['is_gecko'] || $context['browser']['is_opera'] ? '<pre style="margin: 0; padding: 0;">' : '') . '<code class="bbc_code">$1</code>' . ($context['browser']['is_gecko'] || $context['browser']['is_opera'] ? '</pre>' : ''),
// !!! Maybe this can be simplified?
'validate' => isset($disabled['code']) ? null : create_function('&$tag, &$data, $disabled', '
global $context;

if (!isset($disabled[\'code\']))
{
$php_parts = preg_split(\'~(&lt;\?php|\?&gt;)~\', $data, -1, PREG_SPLIT_DELIM_CAPTURE);

for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++)
{
// Do PHP code coloring?
if ($php_parts[$php_i] != \'&lt;?php\')
continue;

$php_string = \'\';
while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != \'?&gt;\')
{
$php_string .= $php_parts[$php_i];
$php_parts[$php_i++] = \'\';
}
$php_parts[$php_i] = highlight_php_code($php_string . $php_parts[$php_i]);
}

// Fix the PHP code stuff...
$data = str_replace("<pre style=\"display: inline;\">\t</pre>", "\t", implode(\'\', $php_parts));

// Older browsers are annoying, aren\'t they?
if ($context[\'browser\'][\'is_ie4\'] || $context[\'browser\'][\'is_ie5\'] || $context[\'browser\'][\'is_ie5.5\'])
$data = str_replace("\t", "<pre style=\"display: inline;\">\t</pre>", $data);
elseif (!$context[\'browser\'][\'is_gecko\'])
$data = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data);

// Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection.
if ($context[\'browser\'][\'is_opera\'])
$data .= \'&nbsp;\';
}'),
'block_level' => true,
),
array(
'tag' => 'code',
'type' => 'unparsed_equals_content',
'content' => '<div class="codeheader">' . $txt['code'] . ': ($2) <a href="#" onclick="return smfSelectText(this);" class="codeoperation">' . $txt['code_select'] . '</a></div>' . ($context['browser']['is_gecko'] || $context['browser']['is_opera'] ? '<pre style="margin: 0; padding: 0;">' : '') . '<code class="bbc_code">$1</code>' . ($context['browser']['is_gecko'] || $context['browser']['is_opera'] ? '</pre>' : ''),
// !!! Maybe this can be simplified?
'validate' => isset($disabled['code']) ? null : create_function('&$tag, &$data, $disabled', '
global $context;

if (!isset($disabled[\'code\']))
{
$php_parts = preg_split(\'~(&lt;\?php|\?&gt;)~\', $data[0], -1, PREG_SPLIT_DELIM_CAPTURE);

for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++)
{
// Do PHP code coloring?
if ($php_parts[$php_i] != \'&lt;?php\')
continue;

$php_string = \'\';
while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != \'?&gt;\')
{
$php_string .= $php_parts[$php_i];
$php_parts[$php_i++] = \'\';
}
$php_parts[$php_i] = highlight_php_code($php_string . $php_parts[$php_i]);
}

// Fix the PHP code stuff...
$data[0] = str_replace("<pre style=\"display: inline;\">\t</pre>", "\t", implode(\'\', $php_parts));

// Older browsers are annoying, aren\'t they?
if ($context[\'browser\'][\'is_ie4\'] || $context[\'browser\'][\'is_ie5\'] || $context[\'browser\'][\'is_ie5.5\'])
$data[0] = str_replace("\t", "<pre style=\"display: inline;\">\t</pre>", $data[0]);
elseif (!$context[\'browser\'][\'is_gecko\'])
$data[0] = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data[0]);

// Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection.
if ($context[\'browser\'][\'is_opera\'])
$data[0] .= \'&nbsp;\';
}'),
'block_level' => true,
),


sostituiscilo con:
array(
'tag' => 'code',
'before' => '<div class="quoteheader"><div class="topslice_quote">' . $txt['quote'] . '</div></div><blockquote>',
'after' => '</blockquote><div class="quotefooter"><div class="botslice_quote"></div></div>',
'block_level' => true,
),
array(
'tag' => 'code',
'type' => 'parsed_equals',
'before' => '<div class="quoteheader"><div class="topslice_quote">' . $txt['quote_from'] . ': $1</div></div><blockquote>',
'after' => '</blockquote><div class="quotefooter"><div class="botslice_quote"></div></div>',
'quoted' => 'optional',
// Don't allow everything to be embedded with the author name.
'parsed_tags_allowed' => array('url', 'iurl', 'ftp'),
'block_level' => true,
),


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

emanuele

Leggendo una discussione in un'altra board ho trovato anche un'altra soluzione: usare la censura per sostituire i tag [code ] e [ /code] con o niente, oppure con i tag [pre ] e [ /pre].


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

iobit

dopo tanto l'ho finalmente provato.... che dire

+ 10 Emanuele  ;)

Advertisement: