Слава богу, хоть классы латиницей названы, а то я уж боялся, что в кодировках может быть проблема.
Короче, я сейчас обедаю минут 30, потом еще одно дело минут на 5, а потом полчаса — и ваша прога готова.
Пользователь добавил сообщение 08 Апреля 2016, 17:07:47:
Вот, готово:
#!/usr/bin/rexx
/*
Всё это будет работать, бла-бла-бла и т.д., потом напишу подробный коммент */
main:
FILE = 'sosorce.html'
Ten6 = 1e6
LF = d2c(10)
CRLF = d2c(13) || LF
EMP = ''
RAN = '>'
ANCH0 = '<a rel="nofollow" href="">'
ANCH1 = '</a>'
NOIN0 = '<noindex>'
NOIN1 = '</noindex>'
SPA_0 = '<span>'
SPA_1 = '</span>'
DIV_0 = '<div '
DIV_1 = '</div>'
HDR = 'class="form-header-title"'
USR = 'class="form-user-name"'
MSG = 'class="form-post-text"'
TAB = d2c(9) -- символ с кодом 9, т.е. табуляция
DUMMY = parsefile(FILE)
exit 0;
parsefile:
parse arg FNAME
DATA = charin(FNAME,, Ten6)
A_HDR = parsedata(HDR)
if A_HDR = EMP then return 1
do forever
A_USR = parsedata(USR)
if A_USR = EMP then leave
A_MSG = parsedata(MSG)
say A_HDR || TAB || A_USR || TAB || A_MSG
end
return 0;
parsedata:
parse arg CLASS
do while DATA \= EMP
parse var DATA . (DIV_0) CONTENT (DIV_1) DATA
if pos(CLASS, CONTENT) > 0 then do
parse var CONTENT . (CLASS) CONTENT
parse var CONTENT . (RAN) CONTENT
CONTENT = changestr(NOIN0, CONTENT, EMP)
CONTENT = changestr(NOIN1, CONTENT, EMP)
CONTENT = changestr(ANCH0, CONTENT, EMP)
CONTENT = changestr(ANCH1, CONTENT, EMP)
CONTENT = changestr(SPA_0, CONTENT, EMP)
CONTENT = changestr(SPA_1, CONTENT, EMP)
CONTENT = changestr(CRLF, CONTENT, EMP)
CONTENT = changestr(LF, CONTENT, EMP)
return CONTENT
end
end
return EMP;
Пробный файл обрабатывает, вот результат:
Кодекс поведения игрока ITF и ТЕ Совет ЕКС Здесь ЕКС планирует отвечать на вопросы по Кодексу поведения ученика. Хотя это не совсем епархия ЕКС, но на территории России проводится достаточно много международных турниров, которые обслуживают российские судьи в различных судейских должностях. В настоящее время между Кодексом поведения игрока РFA и кодексами международных организаций есть некоторые отличия, которые пытаются свести к минимуму. Такая работа продолжается.
Кодекс поведения игрока ITF и ТЕ Совет ЕКС Для удобства пользователей Совет ЕКС размещает действующий Кодекс поведения игрока 2006 года.
Кодекс поведения игрока ITF и ТЕ Арт Ещё бы и форму 13 подправить (с единым образцом заполнения)
Кодекс поведения игрока ITF и ТЕ Совет ЕКС <B>Арт,</B> это функция НП "РТТ", которую они никак не хотят передать в ЕКС. Обратитесь в ОУ ТРТТ.