Очистка внутренностей тега <td> от всего, кроме rowspan и colspan

Tonn

Новичок
Очистка внутренностей тега <td> от всего, кроме rowspan и colspan

Собственно проблема: есть html код с таблицами, в тегах <td> которых нужно оставить только rowspan и colspan.

Оговорюсь, что нельзя плясать от списка остальных(ненужных) параметров, т.е. все, что я 'знаю', это то, что нужно оставить эти 2 параметра.

код для проверки
PHP:
<table>
<tr>
<td bgcolor='#CFCFCF'  colspan=2  align=left rowspan=2 >Hello</td><td bgcolor='#CFCFCF' rowspan=2  colspan=2  align=left >I am robot</td></tr>
<tr><td bgcolor='#CFCFCF'  colspan=2  align=left some stuff>Kill</td><td bgcolor='#CFCFCF' rowspan=2  align=left 1 2 3>Me</td></tr>
</table>
 

Bakti9rov

!*|=?
нужна регулярка, не надо париться c dom :)

примерно:

/\<(td){1}([^\<|^\>]{*})(rowspan)([ ]{*})(=){1}([\"|\']([0-9][\"|\']){*}) (colspan)([ ]{*})(=){1}([\"|\']([0-9][\"|\']){*})\>/siU

или

/\<(td){1}([^\<|^\>]{*})(colspan)([ ]{*})(=){1}([\"|\']([0-9][\"|\']){*}) (rowspan)([ ]{*})(=){1}([\"|\']([0-9][\"|\']){*})\>/siU

дальше замещение с помощью этой регулярки любым доступным способом
 

Tonn

Новичок
Mr_Max
И?

-~{}~ 18.05.07 19:25:

Bakti9rov
проверь свои регулярки на примере с помощью preg_replace...
 

Popoff

popoff.donetsk.ua
Автор оригинала: Tonn
Mr_Max
И?

-~{}~ 18.05.07 19:25:

Bakti9rov
проверь свои регулярки на примере с помощью preg_replace...
Написано же ясно: примерно. То есть берёшь эти регулярки, анализируешь, понимаешь идею и пишешь собственные по образу и подобию. Если не разбираешься в регулярных выражениях - идёшь по ссылкам, которые тебе дал mr_max. Если тебя интересновало готовое решение и тебе не нужно в нём разбираться, то для таких вопросов существует специальная тема форума, которая так и называется: "ищу готовое решение".
 

kruglov

Новичок
Лично я пользуюсь javascript-dom решением вот таким:
http://www.kruglov.ru/useful/cleanhtml/
Там за меня все браузер делает.

А если на PHP надо без dom-библиотек, я бы через preg_replace_callback ловил <td.*?> и уже внутри callback-функции резал на атрибуты и смотрел, куда кого...
 

Tonn

Новичок
Popoff
мне интерсно разобраться в решении, поэтому я и задал вопрос, ожидая конструктивный ответ.

-~{}~ 18.05.07 19:59:

kruglov
через calback пытался резать, но на 180 киловом файле оно начинает офигевать.
поэтому и пытаюсь понять, как по другому, в 2-4 регуляра, например.
 
Сверху