Google

Описание класса 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