Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Очистка html?
 
 автор: Dared   (31.07.2007 в 13:28)   письмо автору
 
 

Есть html код вида:

<HTML>
<HEAD>
<TITLE>General Commercial OfferWEB</TITLE>
</HEAD>
<BODY>
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR><TD>
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=0>
<TR>
<TD WIDTH="13%" VAlign=Middle><FONT SIZE=1 FACE="Helvetica">Видеотехника<BR></FONT></TD>
<TD WIDTH="0%"></TD>
<TD WIDTH="19%" VAlign=Middle><FONT SIZE=1 FACE="Helvetica">DVD плейеры <BR></FONT></TD>
<TD WIDTH="1%"></TD>
<TD WIDTH="7%" VAlign=Middle><FONT SIZE=1 FACE="Helvetica">DV111SI<BR></FONT></TD>
<TD WIDTH="1%"></TD>
<TD WIDTH="22%" VAlign=Middle><FONT SIZE=1 FACE="Helvetica">DVD плейер BBK DV111SI<BR></FONT></TD>
<TD WIDTH="0%"></TD>
<TD WIDTH="7%" VAlign=Middle><FONT SIZE=1 FACE="Helvetica">BBK<BR></FONT></TD>
<TD WIDTH="1%"></TD>
<TD WIDTH="4%" Align=Right VAlign=Middle><FONT SIZE=1 FACE="Helvetica">0,01<BR></FONT></TD>
<TD WIDTH="1%"></TD>
<TD WIDTH="6%" Align=Right VAlign=Middle><FONT SIZE=1 FACE="Helvetica">МОСКВА 1<BR></FONT></TD>
<TD WIDTH="0%"></TD>
<TD WIDTH="3%" Align=Right VAlign=Middle><FONT SIZE=1 FACE="Helvetica">584,00<BR></FONT></TD>
<TD WIDTH="0%"></TD>
<TD WIDTH="5%" Align=Right VAlign=Middle><FONT SIZE=1 FACE="Helvetica">47,00<BR></FONT></TD>
<TD WIDTH="0%"></TD>
<TD WIDTH="5%" Align=Right VAlign=Middle><FONT SIZE=1 FACE="Helvetica">46,00<BR></FONT></TD>
<TD WIDTH="1%"></TD>
<TD WIDTH="4%" Align=Right VAlign=Middle><FONT SIZE=1 FACE="Helvetica">7413<BR></FONT></TD>
</TR>

// 32000 таких строк

</TABLE>
<BR><HR>
</TD></TR>
</TABLE>
</BODY>
</HTML>



если нужно очистить от HTML тегов и столбцы разделить двойным табом а строки переносом строки , убрать пробелы...
лучше это сделать str_replace и пройтись 2-3 раза с разной выборкой или есть лучшие варианты?

   
 
 автор: Штеукуы   (31.07.2007 в 17:58)   письмо автору
 
   для: Dared   (31.07.2007 в 13:28)
 

Жестоко, но должно работать


<?
$str 
'
<HTML> 
<HEAD> 
<TITLE>General Commercial OfferWEB</TITLE> 
</HEAD> 
<BODY> 
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0> 
<TR><TD> 
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=0> 
<TR> 
<TD WIDTH="13%" VAlign=Middle><FONT SIZE=1 FACE="Helvetica">Видеотехника<BR></FONT></TD> 
<TD WIDTH="0%"></TD> 
<TD WIDTH="19%" VAlign=Middle><FONT SIZE=1 FACE="Helvetica">DVD плейеры <BR></FONT></TD> 
<TD WIDTH="1%"></TD> 
<TD WIDTH="7%" VAlign=Middle><FONT SIZE=1 FACE="Helvetica">DV111SI<BR></FONT></TD> 
<TD WIDTH="1%"></TD> 
<TD WIDTH="22%" VAlign=Middle><FONT SIZE=1 FACE="Helvetica">DVD плейер BBK DV111SI<BR></FONT></TD> 
<TD WIDTH="0%"></TD> 
<TD WIDTH="7%" VAlign=Middle><FONT SIZE=1 FACE="Helvetica">BBK<BR></FONT></TD> 
<TD WIDTH="1%"></TD> 
<TD WIDTH="4%" Align=Right VAlign=Middle><FONT SIZE=1 FACE="Helvetica">0,01<BR></FONT></TD> 
<TD WIDTH="1%"></TD> 
<TD WIDTH="6%" Align=Right VAlign=Middle><FONT SIZE=1 FACE="Helvetica">МОСКВА 1<BR></FONT></TD> 
<TD WIDTH="0%"></TD> 
<TD WIDTH="3%" Align=Right VAlign=Middle><FONT SIZE=1 FACE="Helvetica">584,00<BR></FONT></TD> 
<TD WIDTH="0%"></TD> 
<TD WIDTH="5%" Align=Right VAlign=Middle><FONT SIZE=1 FACE="Helvetica">47,00<BR></FONT></TD> 
<TD WIDTH="0%"></TD> 
<TD WIDTH="5%" Align=Right VAlign=Middle><FONT SIZE=1 FACE="Helvetica">46,00<BR></FONT></TD> 
<TD WIDTH="1%"></TD> 
<TD WIDTH="4%" Align=Right VAlign=Middle><FONT SIZE=1 FACE="Helvetica">7413<BR></FONT></TD> 
</TR> 

// 32000 таких строк 

</TABLE> 
<BR><HR> 
</TD></TR> 
</TABLE> 
</BODY> 
</HTML>'
;

$str str_replace('<TD'"\t\t<TD"$str);
$str strip_tags($str);
echo 
"<pre>
"
.$str;

?>

   
 
 автор: Dared   (01.08.2007 в 13:41)   письмо автору
 
   для: Штеукуы   (31.07.2007 в 17:58)
 

ну почти работает.. только структура получается

        Видеотехника
        
        DVD плейеры 
        
        DV111SI
        
        DVD плейер BBK DV111SI
        
        BBK
        
        0,01
        
        МОСКВА 1
        
        584,00
        
        47,00
        
        46,00
        
        7413


а нужно

Видеотехника        DVD плейеры        DV111SI        DVD плейер BBK DV111SI        BBK        0,01        МОСКВА 1        584        47        46        7413


т.е. получается что ...перенос строки после каждого значения..
реально строка str_replace не работает. Результат только от strip_tags

   
 
 автор: ddhvvn   (01.08.2007 в 14:25)   письмо автору
 
   для: Dared   (01.08.2007 в 13:41)
 

Это из-за <pre>, уберите его

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования