Avatar Image
Usuario habitual
Usuario habitual

He hecho una especie de foro y no quiero que ningún gracioso me meta ninguna tabla ni un meta o algo así.
Creo que es con str_replace, pero no sé cómo

Lo de la imagen me va más o menos bien, pero lo demás no, ¿Cómo sería la sintaxis?

Codigo:

$Mensajecorto=substr($Mensajepre,0,200);
$Mensaje = str_replace ("<img src=" , "<i>foto</i>" , $Mensajecorto);

$Mensaje = str_replace ("table","**",$Mensaje);
$Mensaje = str_replace ("<pre" , "**" , $Mensajecorto);
$Mensaje = str_replace ("<meta" , "**" , $Mensajecorto);

printf ($Mensaje,7);

Avatar Image
Okupa del foro
Okupa del foro

Bueno, mira:

function quitaHTML($mensaje){
$mensaje = str_replace("<img scr=","<i><Imágen URL: </i>",$mensaje);
$mensaje = str_replace("width=","",$mensaje);
$mensaje = str_replace("\"","",$mensaje);
$mensaje = str_replace("<table","<ENTABLADO",$mensaje);
$mensaje = str_replace("<pre","*",$mensaje);
$mensaje = str_replace("<meta","META",$mensaje);
$mensaje = str_replace("","",$mensaje);
$mensaje = str_replace("","",$mensaje);
return($mensaje);
}

ahí te dejo dos libres pa k metas lo q quieras.
no se , seria más sencillo poner:

if(htmlenties($mensaje)){
echo "NO PUEDES USAR HTML!";
}else{
funciones de OK.....
}

Bye!

Avatar Image
Usuario habitual
Usuario habitual

Gracias, me ha ayudado mucho.

Pero todavía me falla uno de los códigos más maliciosos: el table y el img.

Cómo sería para que no salieran tablas ni imágenes?

El código que me diste referente a ésto era éste:

Codigo:

$mensaje = str_replace("<img scr=","<i><Imágen URL: </i>",$mensaje);
$mensaje = str_replace("<table","<ENTABLADO",$mensaje);

Avatar Image
Okupa del foro
Okupa del foro

si, en principio seria ese,
pero haz esto:
str_replace("<img","<Imágen URL:",$mensaje);
str_replace("scr=","",$mensaje);

así si hacen
<img width="" scr=""
funcionara igual, porque de la otra manera solo kitaba si hacia
img scr

bueno, bye!
PD: si, ese es el código...

Avatar Image
Usuario habitual
Usuario habitual

Muchas gracias por tanta ayuda ivanito.

Pero me queda la duda de cómo evitar las tablas.

¿Cómo era?

Avatar Image
Okupa del foro
Okupa del foro

bueno así

en ves de str_replace -> r en ves de ("tal","cual"$Mensaje); -> "tal"-"cual"
Ok?

"<table"-"Tabla:<br>"
"<tr"-"<br>-Columna-<br>"
"<td"-"<br>--Fila--<br>"
">"-""

Bye!!!
espero q lo traduzcas...

Avatar Image
Okupa del foro
Okupa del foro

ah, recuerda
"width"-"ancho" / alto, no macuerdo
"height"-"tal..."....
bye!
"border"-"borde"

Atomo64
Machacateclados
Machacateclados

o para evitar todos pero algo simple:

str_replace("<","#%",$mensaje);
str_replace(">","#&",$mensaje);

Avatar Image
Okupa del foro
Okupa del foro

Ya, eso y el htmlspecialchars le sirven... pero el quiere poner en texto plano lo que intenta hacer el usuario... he hablado con el x msn...

Atomo64
Machacateclados
Machacateclados

o
str_replace("<","&#60",$mensaje);
str_replace(">","&#62",$mensaje);

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 24/Nov/2009, 04:55
ELFANTASMATHEBEST ligoverto chavp maquina_fatal32kNov/09