Описание класса 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()
Принудительное закрытие разборки данных. Даже если в буффере оставались
незаконченые данные или теги, все равно неразобранные остатки данных
будут принудительно добавлены в конечный тег и после этого очишен буффер.
© Ю.Хныкин, uri@itk.ru, 2000