Incapaz de substituir alguns caracteres html de um texto recebido de um banco de dados

  • Autor Autor JetLagFox
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
J

JetLagFox

Gamma
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
De la base de datos recibo el siguiente texto:

PHP:
<div onclick="alert('código inyectado');">Texto</div>

[img]http://www.hobbyconsolas.com/sites/hobbyconsolas.com/public/media/image/2015/07/503196-halo-5-guardians-nuevos-datos-campana-cooperativa.jpg[/img]

Y aquÃ* una URL: [url=https://www.google.es/?gws_rd=ssl]Google[/url]

Bueno pues vamos [b]a ver si esto funciona[/b] porque "todavÃ*a" no lo sé [i][u]bien[/u][/i]

Este texto lo guardo en una variable $texto. Después de pasar por htmlspecialchars() para evitar inyección de código, intento reemplazar los caracteres html por sus homólogos:

PHP:
$texto = str_replace(""","\"",$texto); //para comillas
$texto = str_replace("&lt;","<",$texto); // para <
$texto = str_replace("&gt;",">",$texto); // para >

Pero no se modifica ninguno. He estado haciendo pruebas y parece ser que es por el carácter &, si lo elimino sí se modifica.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
una duda, no sería más sencillo si tu base de datos la hacer con fundamentación para utf8 y al recibir a tu html igual permites caracteres utf8?
 
Voltar
Topo