Autor Tema: [Ayuda] BBCode  (Leído 293 veces)

Desconectado MaNuX

  • PHPero Avanzado
  • ****
  • Mensajes: 385
  • Karma: 4
  • Sexo: Masculino
  • PHP & MySQL
    • Ver Perfil
    • CliKys
[Ayuda] BBCode
« en: 22 de Agosto de 2013, 19:36:30 pm »
Hola e encontrado un codigo para un sistema de noticias y poder poner bbcode pero nose como implantarlo para que cuando aga clic en la imagen aparezca en el textarea.

Código: [Seleccionar]
<?PHP
function bbcode($texto) {
$texto = str_replace("\n","<br>",$texto); //Saltos de Linea
$texto = str_replace("[b]","<b>",$texto); //Negrita
$texto = str_replace("[/b]","</b>",$texto); //Negrita
$texto = str_replace("[i]","<i>",$texto); //Italic
$texto = str_replace("[/i]","</i>",$texto); //Italic
$texto = str_replace("[u]","<u>",$texto); //Subrayado
$texto = str_replace("[/u]","</u>",$texto); //Subrayado
$texto = eregi_replace("\\[url=([^\\[]*)\\]([^\\[]*)\\[/url\\]",'<a href="\\1">\\2</a>', $texto); //URLS dentro de la pagina
$texto = eregi_replace("\\[url\\]([^\\[]*)\\[/url\\]","<a target=\"_blank\" href=\"\\1\">\\1</a>", $texto); //URLS fuera de la pagina
$texto = eregi_replace("\\[imgl=([^\\[]*)\\]([^\\[]*)\\[/imgl\\]",'<a href="\\1" rel=\"lightbox\">\\2</a>', $texto); //Lightbox
$texto = eregi_replace("\\[img\\]([^\\[]*)\\[/img\\]",'<img src="\\1">', $texto); //Imagenes
$texto = eregi_replace("\\[quote\\]([^\\[]*)\\[/quote\\]",'<div class=\"css_title\">Cita<div class=\"css\">\\1</div></div>', $texto);  // citas
// Pone el texto como una cita. Formato: [cita]La calidad nunca es un accidente; siempre es el resultado de un esfuerzo de la inteligencia[/cita]
$texto = eregi_replace("\\[cita\\]([^\\[]*)\\[/cita\\]",'<div class=\"css_title\">Cita<div class=\"css\">\\1</div></div>', $texto);
$texto = eregi_replace("\\[php\\]([^\\[]*)\\[/php\\]","\n<div class=\"css_title\">C&oacute;digo PHP\n<div class=\"css\">\\1</div></div>", $texto); //codigos en PHP
// Texto rojo --> [rojo]Texto[/rojo]
   $texto = eregi_replace("\\[rojo\\]([^\\[]*)\\[/rojo\\]","<font color=\"#FF0000\">\\1</font>", $texto);

// Texto azul --> [azul]Texto[/azul]
   $texto = eregi_replace("\\[azul\\]([^\\[]*)\\[/azul\\]","<font color=\"#0000FF\">\\1</font>", $texto);
   
// Texto verde --> [verde]Texto[/verde]
   $texto = eregi_replace("\\[verde\\]([^\\[]*)\\[/verde\\]","<font color=\"#009900\">\\1</font>", $texto);

         // Texto naranja --> [naranja]Texto[/naranja]
   $texto = eregi_replace("\\[naranja\\]([^\\[]*)\\[/naranja\\]","<font color=\"#FF9933\">\\1</font>", $texto);

         // Texto violeta --> [violeta]Texto[/violeta]
   $texto = eregi_replace("\\[violeta\\]([^\\[]*)\\[/violeta\\]","<font color=\"#CC00FF\">\\1</font>", $texto);

return $texto;
}
function filtro_palabras($texto) {
$palabras = array("tonto", "feo", "*****", "mierda", "*****", "*****");
$division = explode(" ", $texto);
foreach ($division as $key => $valor) {
foreach ($palabras as $palabra) {
if (strtolower($valor) == $palabra) {
$division[$key] = "[CENSURADO]";
}
}
}
$texto = implode(" ",$division);
return $texto;
}
?>

Podriais echar una mano? Saludos.


Comunidad PHPeros

[Ayuda] BBCode
« en: 22 de Agosto de 2013, 19:36:30 pm »

Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
Re:[Ayuda] BBCode
« Respuesta #1 en: 23 de Agosto de 2013, 13:58:45 pm »
¿Y quien dijo que se necesita PHP?, Puro Javascript.
Para eso te doy dos soluciones:
-En JavaScript: innerhtml Ej: document.getElementById('ID_TEXTAREA').innerHTML = '...';
-En jQuery: .html(); Ej: $('#ID_TEXTAREA').html('...');

Saludos.
Twitter: @JoakoM010



Desconectado MaNuX

  • PHPero Avanzado
  • ****
  • Mensajes: 385
  • Karma: 4
  • Sexo: Masculino
  • PHP & MySQL
    • Ver Perfil
    • CliKys
Re:[Ayuda] BBCode
« Respuesta #2 en: 23 de Agosto de 2013, 15:15:53 pm »
Gracias voy a probar los dos y haber cual me resulta más util.

Saludos.