Показать сообщение отдельно
  #8  
Старый 10.02.2013, 17:09
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Гораздо быстрее было бы что-нибудь вроде
Код:
i := 1;
while i < Length(s) do
begin
  if (i < Length(s) - 7) and (s[i] = '<') then
  begin
    if s.SubStr(i + 1, 6) = 'script' then
    begin
      j := PosEx('>', s, i + 7);
      if j > 0 then
      begin
        j := PosEx('</script>', s, j + 1);
        if j > 0 then
           i := j + 8
        else
           buf := buf + s[i];
      end
      else
           buf := buf + s[i];
    end;
  end
  else
     buf := buf + s[i];
  i := i + 1;
end;
Может в цифрах ошибся, но суть ясна.
А разбирать код, который был оформлен как будто под кайфом, нет желания.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием