В начале html - кода файла fb2 (расширение: *.fb2) стоит:
Если файл в кодировке U T F - 8, то откройте этот файл с помощью блокнота, замените кодировку на windows-1252 (или просто выбросьте эту строчку) и сохраните его в тот же самый файл в кодировке ANSI, дальше работаем с этим файлом.
Весь текст заключён внутри тега
Внутри предыдущего тега стоит тег "description", который нам не интересен, в нём название книги, автор, и так далее, тег "body", и один или несколько тегов "binary" с картинками в кодировке Base64.
Перед началом работы с текстом следует выбросить всё, что стоит после тега "body" (здесь x это html - код)
Тег
Внутри тега "body" стоят теги
x=x.replace(/<section>/gi,'<fieldset>')
x=x.replace(/<\/section>/gi,'</fieldset>')
или так
x=x.replace(/section/gi,'fieldset')
Ещё внутри тега "body" стоят теги
x=x.replace(/<title>/gi,'<h1>')
x=x.replace(/<\/title>/gi,'.</h1>')
Ещё внутри тега "body" могут стоять теги
x=x.replace(/<subtitle>/gi,'<h1>')
x=x.replace(/<\/subtitle>/gi,'</h1>')
Ещё внутри тега "body" стоят теги
x=x.replace(/<emphasis>/gi,'<u>')
x=x.replace(/<\/emphasis>/gi,'.</u>')
Ещё внутри тега "body" стоят непарные теги
x=x.replace(/<empty-line/>/gi,'<ul><li></li></ul>')
Если нужно не просто отобразить содержимое файла, а получить только нужнное из него, поступим следующим образом.
1 Создадим переменную te_xt.
te_xt=''
2 Выбросим всё, что стоит после тега "body"
x=x.split('<\/body>')[0]
3 Заменим тег "emphasis" на тег "u"
x=x.replace(/emphasis/gi,'u')
4 Заменим тег "empty-line" на "<dd>---"
x=x.replace(/<empty-line\/>/gi,'<dd>---')
5 Создадим массив массив M_x из кусков файла, нарезанного по section.
M_x=x.split('<section>')
6 Будем перебирать куски с первого до последнего (кусок с номером ноль пропускаем).
for(i=1; i<M_x.length; i++){//for
}//for
7 В каждом куске создаём переменную ti_tle, принимающую значение тега title (если он есть),удаляем из него аналог
if(M_x[i].split('<title>').length>1){
ti_tle=M_x[i].split('<title>')[1].split('</title>')[0]}
ti_tle=ti_tle.replace(/<dd>---/g,'')
ti_tle=ti_tle.replace(/<[^>]+>/g,'')
ti_tle=ti_tle.replace(/\r\n/g,' ')
ti_tle=ti_tle.replace(/ /g,' ')
ti_tle=ti_tle.replace(/ /g,' ')
ti_tle=ti_tle.replace(/ /g,' ')
ti_tle=ti_tle.replace(/ /g,' ')
ti_tle=ti_tle.replace(/ /g,' ')
ti_tle='@1@'+ti_tle+'@2@'
ti_tle=ti_tle.replace(/@1@ /g,'@1@').replace(/ @2@/g,'@2@')
ti_tle=ti_tle.replace(/@1@/g,'').replace(/@2@/g,'')
8 Набираем переменную te_xt
te_xt+='<fieldset><h1>'+ti_tle+'.</h1>'+''+M_x[i]+'</fieldset>'
9 Делаем в переменной te_xt замену лишних, появившихся точек
te_xt=te_xt.replace(/\.\./g,'.')
te_xt=te_xt.replace(/\?\./g,'?')
te_xt=te_xt.replace(/\!\./g,'!')
24.1.2011 00.00