PHP анализирует таблицы HTML и делает их правильными таблицами HTML5

Я ищу лучший способ очистить старые таблицы HTML (с помощью PHP), чтобы они были правильными таблицами HTML5 - это в основном вопрос удаления недопустимых атрибутов. В дополнение к этому, я также хотел бы удалить встроенные стили этих таблиц. Было бы здорово, если бы это можно было сделать за один раз.

Я в основном исследовал регулярные выражения, но после прочтения того, что регулярные выражения не рекомендуется выполнять, я ищу что-то еще, что могло бы помочь.

1 ответ

Решение

Быстрый пример того, как вы могли бы использовать DOMDocument для удаления атрибутов - можно расширить его, добавив также атрибуты, но это другой вопрос.

$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>';
Другие вопросы по тегам