Código PHP:
<?php
function bbcode($texto) {
$texto=nl2br(htmlentities($texto));
# URL's
$URLSearchString = " a-zA-Z0-9:/-?&&.=_~#'"; # 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("(<b>(.+?)</b>)is",'<strong>$1</strong>',$texto);
# Cursiva -> [+i]texto[/+i]
$texto = preg_replace("([+i](.+?)[/+i])is",'<em>$1</em>',$texto);
$texto = preg_replace("(<i>(.+?)</i>)is",'<em>$1</em>',$texto);
# Subrayado -> [+u]texto[/+u]
$texto = preg_replace("([+u](.+?)[/+u])is",'<ins>$1</ins>',$texto);
$texto = preg_replace("(<u>(.+?)</u>)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].");
?>
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"> <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';
}
?>
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>