Retirar as tags Html, transformar e apagar os scripts e styles
<?php
// String com código e tags HTML
$texto = '<b>Lorem Ipsum</b> <i>is</i> simply <a href="//meuphpbasico.blogspot.com/">dummy text</a> of the tin <script src="//www.blogger.com/static/v1/jsbin/2290467252-comment_from_post_iframe.js"></script> <script>window.___gcfg= {"lang":"pt_PT"};</script> <style type="text/css">html body #uds-searchControl{background:red;text-aling:left;text-transform:uppercase;text-transform:uppercase}</style>';
$TrocaCaractere = array('<script' => '<!-- <script' , '/script>' => '/script> -->' , '<style' => '<!-- <style' , '/style>' => '/style> -->');
$textoB=strTr($texto, $TrocaCaractere);
// teria resultado no html: <b>Lorem Ipsum</b> <i>is</i> simply <a href="//meuphpbasico.blogspot.com/">dummy text</a> of the tin <!-- <script src="//www.blogger.com/static/v1/jsbin/2290467252-comment_from_post_iframe.js"></script> --> <!-- <script>window.___gcfg= {"lang":"pt_PT"};</script> --> <!-- <style type="text/css">html body #uds-searchControl{background:red;text-aling:left;text-transform:uppercase;text-transform:uppercase}</style> -->
// String filtra todo código e retira tags e 'anotações' do HTML
$TextoLimpo = strip_tags($textoB);
echo $TextoLimpo;
// Resultaria: Lorem Ipsum is simply dummy text of the tin
?>
A parte $TrocaCaractere mudaria alguns caracteres das tags de 'inicio e fim' dos scrpts e styles de maneira que eles passariam a ser anotações ocultas no Html, e depois, o strip_tags apagaria as anotações do mesmo modo que faz com as tags.
Caso eu não usasse essa gambiarra onde fiz uma $TrocaCaractere aí o meu resultado, tanto no html quanto a exibição, seria a seguinte bagunça:
Lorem Ipsum is simply dummy text of the tin window.___gcfg= {"lang":"pt_PT"}; html body #uds-searchControl{background:red;text-aling:left;text-transform:uppercase;text-transform:uppercase}
As tags <script> e <style> seriam removidas, mas, o 'conteúdo' delas não, pois, para o 'strip_tags' ele é um texto comum como se fosse ter sido escrito para ser visto pelas pessoas, e não como parte do Html ou 'tags' dele.
Uma dica final, sobre otimização de Html para redução de bytes e aumentar a velocidade de carregamento de páginas, por mais que seja mínima redução, mas se um site ou blog tem muitos, os scripts não necessitam mais do uso de type="text/javascript", tanto para linkar um arquivo externo quanto os javscripts da página Html, também, links externos, linkar ou inserção de objetos como imagens e vídeos, formulários, a Url não precisa mais usar o http:, a menos que vá linkar um https, mas é bom ter um certo cuidado e, existem exceções, como no caso das canonicais e alguns tipos de dados estruturado ou meta tags.
Sem comentários:
Enviar um comentário