2016-09-15 2 views
0

Ich bin auf der Suche nach dem besten Weg, alte HTML-Tabellen (mit PHP) zu bereinigen, so dass sie korrekt HTML5-Tabellen sind - es ist vor allem eine Frage des Abstreifens nicht erlaubter Attribute. Darüber hinaus möchte ich auch Inline-Styles dieser Tabellen entfernen. Es wäre wirklich großartig, wenn das auf einmal erledigt werden könnte.PHP parsen HTML-Tabellen und machen sie korrekt HTML5-Tabellen

Ich habe hauptsächlich regelmäßige Ausdrücke untersucht, aber nachdem ich gelesen habe, dass reguläre Ausdrücke nicht empfohlen werden, um das zu tun, suche ich nach etwas anderem, das helfen würde.

+0

Verwendung 'DOMDocument',' regex' wird durch Probleme werden geplagt – RamRaider

Antwort

1

Ein schnelles Beispiel dafür, wie Sie mit DOMDocument Attribute entfernen können - das könnte auch Attribute hinzufügen, aber das ist eine andere Sache.

$strhtml=" 
<table width='100%' cellpadding='10px' cellspacing='5px' border='2px'> 
    <tr> 
     <td align='left' valign='top'>banana</td> 
    </tr> 
</table>"; 

$remove=array('cellpadding','cellspacing','border','align','valign'); 


$dom=new DOMDocument; 
$dom->loadHTML($strhtml); 

$elements=$dom->getElementsByTagName('*'); 
foreach($elements as $node){ 
    foreach($remove as $attrib){ 
     if($node->hasAttribute($attrib)){ 
      $node->removeAttribute($attrib); 
     } 
    } 
} 

/* debug output */ 
echo '<textarea cols=100 rows=10>',$dom->saveHTML(),'</textarea>'; 
+0

Danke, dass tun! Ich habe es herausgefunden, bevor du die Antwort wirklich gepostet hast, aber genau das habe ich gesucht. – user1970395