} else s.erasedeftPos, rightPo

Автор admin Воскресенье, 10 мая 2009 11:32

} else s.erasedeftPos, rightPos – leftPos + 1); } else done = true: } } // Удаление всех специальных символов HTML replaceAlKs. “<”. “<"); replaceAlKs. "&gt:", ">“); replaceAlKs. “&”, “&”); replaceAlKs. “&nbsp:”, ” “): // И т. д. return s: } int main(int argc. char* argv[]) { requireArgs(argc. 1, “usage: HTMLStripper InputFile”): ifstream in(argv[l]): assure(in. argv[l]): string s: while(getline(in. s)) if (!stripHTMLTags(s).empty()) cout « s « endl: } ///:- Программа удаляет даже теги HTML, занимающие несколько строк1. Для этого используется статический флаг inTag, которому присваивается true, если при об- Ради простоты приведенная версия не обрабатывает вложенные теги (например, комментарии). 112 Глава 3 • Строки наружении начального тега парный завершающий тег не был обнаружен в той же строке. В функции stripHTMLFlags() встречаются все формы функции eraseO1. Используемая версия getline() представляет собой глобальную функцию, объявленную в заголовочном файле ; она удобна тем, что в аргументе string может храниться строка произвольной длины. Нам не приходится беспокоиться о размерах си


Комментарии закрыты.