} else s.erasedeftPos, rightPo
Автор admin Воскресенье, 10 мая 2009 11:32
} else s.erasedeftPos, rightPos – leftPos + 1); } else done = true: } } // Удаление всех специальных символов HTML replaceAlKs. “<”. “<"); replaceAlKs. ">:", ">“); replaceAlKs. “&”, “&”); replaceAlKs. “ :”, ” “): // И т. д. 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() представляет собой глобальную функцию, объявленную в заголовочном файле
Комментарии закрыты.
Последние комментарии