Foros del Web » Programando para Internet » PHP »

Personalizar un comentario en php

Estas en el tema de Personalizar un comentario en php en el foro de PHP en Foros del Web. 1 - Necesito que en un textarea se prohiba insertar codigo html (esto no sé si se hace en el textarea o donde se visualiza ...
  #1 (permalink)  
Antiguo 22/06/2010, 04:07
 
Fecha de Ingreso: mayo-2010
Mensajes: 102
Antigüedad: 13 años, 11 meses
Puntos: 1
Personalizar un comentario en php

1 - Necesito que en un textarea se prohiba insertar codigo html (esto no sé si se hace en el textarea o donde se visualiza el comentario)...

2 - Que se pueda utilizar codigos como:

[ b ] [ /b ]; [ CENTER ] [ /CENTER ]; [ COLOR="Olive" ][ /COLOR ]

3 - También me interesa que se transformen códigos en smiles como:
: D; : (; : ) ...

4 - Insertar URL:
[ URL="http://" ]http://[ /URL ]...

5 - Insertar imagen
[ IMG ]http://[ /IMG ]

Eso seria lo más básico para que sea personalizado el comentario, haber si me pueden ayudar...
  #2 (permalink)  
Antiguo 22/06/2010, 07:37
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Personalizar un comentario en php

1.- debes ver bbcode con php
2.- usa la funcion htmlentities(); de php y te evitas codigo html en tu web, al menos ejecutable que es lo que te interesa creo yo.

Saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 22/06/2010, 11:30
 
Fecha de Ingreso: mayo-2010
Mensajes: 102
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: Personalizar un comentario en php

Cita:
Iniciado por kaninox Ver Mensaje
1.- debes ver bbcode con php
2.- usa la funcion htmlentities(); de php y te evitas codigo html en tu web, al menos ejecutable que es lo que te interesa creo yo.

Saludos
Esta es la parte del bbcode que he encontrado pero no se muy bien donde debo colocarlo... ¿Debe ir donde se visualizan los comentarios o donde se envían?

Código PHP:
<?php
function bbparse($mensaje)
{
$bbcode = array();
$xhtml = array(); 

// Ponemos cada BBCode y su reemplazo
$bbcode[] = "[i]"$xhtml[] = "<em>";
$bbcode[] = "[/i]"$xhtml[] = "</em>"

$bbcode[] = "[b]"$xhtml[] = "<strong>";
$bbcode[] = "[/b]"$xhtml[] = "</strong>"

$bbcode[] = "[imagen]"$xhtml[] = "<img src='";
$bbcode[] = "[/imagen]"$xhtml[] = "' />"

return 
str_replace($bbcode,$xhtml,$mensaje); 


/* Si el formulario se ha enviado imprimimosla frase introducida parseando BBCode */
if(isset($_POST['comentario'])) {
echo 
"Has introducido: ".bbparse($_POST['comentario']);
}
?>

Este es el código donde están mis comentarios...


* Visualizando comentario
Código PHP:
<a name="estados"></a>
<?php 
    
require_once '../includes/PHPPaging.lib.php';
    require_once 
'../includes/conexion.php';

    
$link mysql_connect('$host''$user''$pass'); 
    
mysql_select_db('$db'$link);
    
    
$paging = new PHPPaging;
    
$paging->agregarConsulta("SELECT * FROM comentarios_personales WHERE destino='$valor' ORDER BY id DESC");
    
$paging->porPagina(10);
    
$paging->paginasAntes(41030);
    
$paging->paginasDespues(41030);

    
$paging->linkClase('nav');  
    
$paging->linkSeparador(false); //Significa que no habrá separacion 
    
$paging->linkSeparadorEspecial('...');
    
$paging->linkAgregar('');
    
$paging->linkTitulo('Página %1$s: Mostrando resultados del %2$s al %3$s (Total: %4$s)'); 

    
$paging->mostrarPrimera("|<"true);
    
$paging->mostrarUltima(">|"true);
    
$paging->mostrarAnterior(false);
    
$paging->mostrarSiguiente(false);
    
$paging->mostrarActual("<span class=\"navthis\">{n}</span>");
    
$paging->nombreVariable("pag");

    
$paging->ejecutar();   
    while(
$datos $paging->fetchResultado()) {

echo 
"
"
.$datos['usuario']."<br>
"
.$datos['comentario']."
"
;
        } 
        
// Imprimimos la barra de navegación 
        
echo "<div class='navigation' align='center'>".$paging->fetchNavegacion()."</div>"
?>

* Para Enviar
Código PHP:
<?php
if(isset($_POST['comentario']))
    {
    
$usuario $_POST['usuario'];
    
$destino $_POST['destino'];
    
$comentario $_POST['comentario'];
    
mysql_query('INSERT INTO comentarios_personales (usuario, destino, comentario, hora, fecha, ip) VALUES ("' $usuario '", "' $destino '", "' $comentario '");') or $error true;

    if(isset(
$error))
      echo 
'<META HTTP-EQUIV="Refresh" CONTENT="0; URL=">';

    else
      echo 
'<META HTTP-EQUIV="Refresh" CONTENT="0; URL=">';

    exit;
    }
    
echo 
'

<div align="center">
<form  name="formulario" action="yo.php?p=' 
$valor '" method="POST" onSubmit="return validate()">
<textarea name="comentario" rows="6" cols="90" wrap="physical" onKeyDown="contador(this.form.comentario,this.form.remLen,500);" onKeyUp="contador(this.form.comentario,this.form.remLen,500);"></textarea><br>
Tienes <input type="text" name="remLen" size="1" maxlength="3" value="500" style="border: 0px solid #FFFFFF; color: #006699; background: #FFFFFF" readonly> caracteres restantes<br><br>
<input type="text" value="' 
$username '" name="usuario" style="display:none;">
<input type="text" value="' 
$valor '" name="destino" style="display:none;">
<input type="submit" name="enviar" class="login-button" value="Enviar Comentario">
</form>
</div>

<SCRIPT language="JavaScript" type="text/javascript"> 
function contador (campo, cuentacampo, limite) { 
if (campo.value.length > limite) campo.value = campo.value.substring(0, limite); 
else cuentacampo.value = limite - campo.value.length; 

</script>
'
;
?>

Etiquetas: comentario, personalizar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:56.