0

Retirando o html

criado por Roberto Bertó em 15/12/2000 12:00pm
Esta dica é bem simples.

Ás vezes se faz necessário mostrar o conteúdo de um arquivo html ou um pedaço dele, seja por estar construindo um fórum, ou um sistema de notícias onde o html não pode ser habilitado.

Deixar os visitantes de um site inserirem código html representa um risco para um site, uma vez que um visitante mal intencionado pode adicionar javascripts ou activex de toda a sorte e acabar com a confiabilidade de seu site. Sem falar nas brincadeiras que se pode fazer, ou até mesmo com o estrago no design que um <font size="10"> pode fazer :-)

Para resolver isto basta utilizar a função htmlspecialchars() [http://www.php.net/manual/pt_BR/function.htmlspecialchars.php]. O que ela faz é transformar todos os códigos especiais do html como o < e o > em &gt; &lt;, o que "escapa" o html para texto puro.

Exemplo:

<h><?php
print htmlspecialchars('Sem o bold e outras tags');
?></h>

Ou então, vindo de um arquivo:
<h><?php

// pegando o conteudo do arquivo e colocando cada linha num array
$conteudo = file('extra.html');

// juntando os arrays e transformando em string
$extra = join('',$conteudo);

// imprimindo o html "escapado"
print htmlspecialchars($extra);
?></h>

Mais informações:
http://www.php.net/manual/function.htmlspecialchars.php
http://www.php.net/manual/function.file.php
http://www.php.net/manual/function.join.php

Comentários:

Mostrando 1 - 2 de 2 comentários
Ricardo disse:
o problema de usar esse <xmp></xmp> é que a pessoa olha o codigo fonte pra saber o porque de não ter dado certo e assim ele começa seu código com </xmp> e termina o mesmo com <xmp>....ai já era seu método não dá mais certo

ricardo
14/06/2006 11:47am (~18 anos atrás)

NuNuNO disse:
Outra boa maneira de se mostrar o código html é a tag XMP... o navegador mostrará como texto plano tudo o que estiver entre ela... Exemplo:

<xmp> <html><body> XMP é LEGAL </body></html> </xmp>

NuNuNO
( Que está curioso para ver como vai sair este post )
01/08/2005 7:45am (~19 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)