Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/05/2005, 15:19
Avatar de ZydRick
ZydRick
 
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
implementar BBCode

pues veran consegui por ahi una funcion para insertar BBCode en un sistema de comentarios el problema es ke no se donde iria dicha funcion el codigo este:


Código PHP:
<?php
function bbcode($texto) {

$texto=nl2br(htmlentities($texto));

# URL's

$URLSearchString " a-zA-Z0-9:/-?&&amp;.=_~#'"# Lo caracteres aceptados.
$texto preg_replace("/[+url]([$URLSearchString]*)[/+url]/"'<a href="$1">$1</a>'$texto);
# Ejemplo: [+url]http://media.xergio.net/[/+url]

$texto preg_replace("([+url=([$URLSearchString]*)](.+?)[/+url])"'<a href="$1">$2</a>'$texto);
# Ejemplo: [+url=http://media.xergio.net/]xergioNET[/+url]

# Email's
$MAILSearchString $URLSearchString " a-zA-Z0-9.@"# de la A a la Z y tiene que contener una @ (arroba).
$texto preg_replace("([mail]([$MAILSearchString]*)[/mail])"'<a href="mailto:$1">$1</a>'$texto);
# Ejemplo: [mail][email protected][/mail]

$texto preg_replace("/[mail=([$MAILSearchString]*)](.+?)[/mail]/"'<a href="mailto:$1">$2</a>'$texto);
# Ejemplo: [[email protected]]e-mail[/mail]

# Imágenes
$texto preg_replace("/[+img](.+?)[/+img]/"'<img src="$1" alt="" />'$texto);
# Ejemplo: [+img]http://direccion.com/imagen.gif[/+img]

$texto preg_replace("/[img=([0-9]*)x([0-9]*)](.+?)[/img]/"'<img src="$3" height="$2" width="$1" alt="" />'$texto);
# Ejemplo: [img=180x160]http://direccion.com/imagen.gif[/img] (redimensionada)

# Etiquetas
# Negritas -> [+b]texto[/+b]
$texto preg_replace("([+b](.+?)[/+b])is",'<strong>$1</strong>',$texto);
$texto preg_replace("(&lt;b&gt;(.+?)&lt;/b&gt;)is",'<strong>$1</strong>',$texto);

# Cursiva -> [+i]texto[/+i]
$texto preg_replace("([+i](.+?)[/+i])is",'<em>$1</em>',$texto);
$texto preg_replace("(&lt;i&gt;(.+?)&lt;/i&gt;)is",'<em>$1</em>',$texto);

# Subrayado -> [+u]texto[/+u]
$texto preg_replace("([+u](.+?)[/+u])is",'<ins>$1</ins>',$texto);
$texto preg_replace("(&lt;u&gt;(.+?)&lt;/u&gt;)is",'<ins>$1</ins>',$texto);

return 
$texto;
}

# Ejemplo

echo bbcode("[+b]hola[/+b] [+i]me[/+i] [+u]llamo[/+u]. Mi foto: [+img]http://miservidor.com/yo.jpg[/+img], y mi página web: [+url]http://miservidor.com[/+url]. No te olvides de visitas [+url=http://media.xergio.net]xergioNET[/+url] y si tienes alguna [[email protected]]duda[/mail] envia un mail a [mail][email protected][/mail].");
?>
nota: Los que pone [+tal..] ó [/+tal] .. es porque si lo pongo sin el + se incorporan al bbcode de esta web y.. bueno se vería el ejemplo y lo mostraría como lo que tiene mostrar. Quitar el +, que todo va unido.

mi sistema de comentarios consta de estos dos scripts, ke creo algunos ya lo conocen pk me estaban ayudando con ello:

Código PHP:
<?
$query 
mysql_query("SELECT * FROM `firmas` WHERE id='$id'");  // hacemos un query para seleccionar las firmas de la id que tenemos seleccionada
$firma $query[firma] ;
while(
$row=mysql_fetch_array($query))  // con un while creamos un bucle que muestra todas
{
echo 
'<table width="550" border="0" cellspacing="1">
<tr><td><div class="autor"> &nbsp;<b>'
.$row["nombre"].'</b></div></td><td><div class="datefirma">'.$row["fecha"].'</div></td></tr>
<tr><td colspan="2" width="548"><div class="usercoment"> '
.$row["comentario"].'</div></td></tr></table><br>';  // mostramos las firmas, esto puedes modifcarlo a tu gusto, poniendole el estilo que quieras
}
if(!empty(
$_SESSION["usuario"])){
echo 
// ahora mostramos el form para añadir las firmas, el campo id del form no lo quiteis, si no no funcionara
'<table width="550" border="0" cellspacing="2"><tr><td class="titulo">Insertar comentario</td></tr>
<tr><td><div class="usercoment"><form action="insertarcomentario.php" method="POST">
<table width="520" border="0" cellspacing="2">
<tr><td colspan="2"><input type="hidden" name="autor" value="'
.$_SESSION["usuario"].'"></td></tr>
<tr><td colspan="2"><input type="hidden" name="autor" value="'
.$row["fecha"].'"></td></tr>
<tr><td colspan="2"><INPUT TYPE="hidden" value="'
.$id.'" NAME="id" readonly></td></tr>
<tr><td colspan="2"><textarea cols="20" rows="10" name="comentario" class="coment"></textarea></td></tr>
<tr><td width="150" colspan="2"><input type="submit" name="submit" value="Enviar comentario" id="boton"></td></tr></table></form></div></tr></td></table>'
;
}else {
echo 
'no estas registrado';
}
?>
y este el ke guarda los datos a la BD

Código PHP:
<?
session_start
();
include(
'config.php'); //incluimos Loas datos de la conexion

$comentario str_replace("\r\n","<br>",$comentario);
$comentario str_replace("\n\r","<br>",$comentario);
$comentario str_replace("\n","<br>",$comentario);
//introducimos el nuevo registro en la tabla firmas
$nombre $_SESSION['usuario'];
$fecha=date("Y.m.d");
mysql_query("INSERT INTO firmas (id,nombre,fecha,comentario) values ('$id','$nombre',NOW(),'$comentario') "); 
echo 
'Comentario Ingresado con exito'
?>
<a class="link3" href="javascript:history.back();"><strong>Regresar</strong></a>
ahora mi pregunta es en ke parte de esos scripts iria insertado el codigo fuente del BBCode ?, gracias y un saludo