Corsi on-line

Eliminare i tag vuoti con PHP

In un recente post vi ho presentato la funzione html_substr() per tagliare un codice HTML preservando i tags. In questo post vi presento una semplice funzione, sempre in tema di manipolazione del codice HTML, per l’eliminazione automatica dei cosiddetti tag senza contenuto (impropiamente anche detti tag vuoti).
Per prima cosa facciamo un piccolo ripasso di HTML: un tag di markup si dice “senza contenuto” quando manca l’elemento testuale cui è applicato. Facciamo un esempio:

<b>Mr.Webmaster</b> <!-- tag pieno -->
<b></b> <!-- tag vuoto -->

Utilizzando editor WYSIWYG può capitare, piuttosto di frequente, che cose del genere restino all’interno del sorgente di una pagina web. Fortunatamente queste cose non creano errori nell’interpretazione del codice da parte dei browser, tuttavia costituiscono uno spreco di byte e, talvolta, creano piccole imperfezioni nell’output.

Grazie ad una semplicissima funzioncina PHP è possibile eliminare questi errorini (cosa piuttosto utile, ad esempio, se si estrae del contenuto da dei feed RSS o da altre sorgenti eterogenee):

<?php 
$html = "<a></a><b>Mr.Webmaster</b>"; 
function eliminaTagVuoti($html) 
{
  $pattern = "/<[^\/>]*>([\s]?)*<\/[^>]*>/"; 
  return preg_replace($pattern, '', $html); 
} 

// Utilizzo: 
echo eliminaTagVuoti($html);

// Output: '<b>Mr.Webmaster</b>' 
?> 
Post correlati
I più letti del mese
Tematiche