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>';