Forum Webscript.Ru

Программирование => PHP => Тема начата: sk от 17 Ноября 2004, 14:42:49

Название: хелп плиз, чистка html
Отправлено: sk от 17 Ноября 2004, 14:42:49
Есть html код страницы сваленный в переменную, из него необходимо выбросить все что совпадаетс маской "".
Никак не получается. Может кто поможет с регуляркой ?
Название: хелп плиз, чистка html
Отправлено: Green Kakadu от 17 Ноября 2004, 15:00:37
//
Название: хелп плиз, чистка html
Отправлено: sk от 17 Ноября 2004, 15:09:17
пробовал, не работает
$buf = ereg_replace("","",$buf);
ответ: Warning: REG_BADRPT:drepetition-operator operand invalid in ...
Название: хелп плиз, чистка html
Отправлено: sk от 17 Ноября 2004, 16:03:32
С горем попалам решил задачу, на удивление даже время выполнения скрипта осталось почти неизменным, код привожу:

preg_match_all("/\\/i",$buf,$matc);
if (sizeof($matc[0])!=0):
$j   = 0;
$num = sizeof($matc[0]);
while ($j<$num) {$buf = str_replace($matc[0][$j]," ",$buf);$j++;}
endif;

P.S. если кому вдруг понадобится, полный код "вылизывания html":
$buf = str_replace("\\r","",$buf);
$buf = str_replace("\\n","",$buf);
$buf = str_replace("\\t"," ",$buf);
$buf = str_replace(chr(160)," ",$buf);
preg_match_all("/\\/i",$buf,$matc);
if (sizeof($matc[0])!=0):
$j   = 0;
$num = sizeof($matc[0]);
while ($j<$num) {$buf = str_replace($matc[0][$j]," ",$buf);$j++;}
endif;
$buf = ereg_replace("[ ]+"," ",$buf);
$buf = str_replace("> <","><",$buf);