|
Описание класса htmlParserПроизводит разбор HTML документа на его составляющие теги, а теги на составляющие поля. Буфферизует ввод-вывод, т.е. может производить разбор по мере добавления в него новых данных (строкового типа) и выдает информацию о разобранных тегах по мере из запрашивания.Простенький пример использования: // открыть файл (например) h=fopen(filename) // проинициализировать новый parser - их кстати может быть несколько // например для чтения одновременно нескольких фреймов p=htmlParseNew() do while !fileeof() // здесь может быть что-то типа url:read(20) // прочитать строку данных и скормить ее разборщику p:put(freadstr(h,20)) // читать разобранные теги из буфера разборщика do while !p:empty() ? p:get() enddo enddo // принудительное закрытие разборки данных p:end() do while !p:empty() ? p:get() enddo Атрибуты/свойстваОни есть, но ими лучше не пользоваться, так как это внутренние данные и вам они не нужны - пользуйтесь методами.Методы/функциифункция htmlParserNewИнициализирует новый parser - их может быть несколько. Параметров нет. Возвращает созданный объект.метод html:put(str)Добавить str в буффер для разбора данных и попытаться разобрать на составляющие.метод html:get()Параметров нет. Выдает из буффера проанализированные данные. Возращаемое значение может быть:строковые данные - текст, расположенный между html-тегами. NIL - просто новая строка или другие ничего не значащие данные объект HTML_TAG - разобранный тег документа. метод html:empty()Проверяет есть ли разобранные теги в буффере разборщикаметод html:end()Принудительное закрытие разборки данных. Даже если в буффере оставались незаконченые данные или теги, все равно неразобранные остатки данных будут принудительно добавлены в конечный тег и после этого очишен буффер. |