From 54b4b4795b363c57094a4744a7a316c948552086 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Sat, 26 Jan 2019 23:40:11 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B0=20=D0=B1?= =?UTF-8?q?=D0=B0=D0=B3=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/components/Reader/share/BookParser.js | 2 ++ server/core/BookConverter/index.js | 14 ++++++-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/client/components/Reader/share/BookParser.js b/client/components/Reader/share/BookParser.js index 4c73cb1c..5a33d56c 100644 --- a/client/components/Reader/share/BookParser.js +++ b/client/components/Reader/share/BookParser.js @@ -138,6 +138,8 @@ export default class BookParser { }); parser.on('textNode', (text) => { + text = text.replace(/[\t\n\r]/g, ' '); + if (text != ' ' && text.trim() == '') text = text.trim(); diff --git a/server/core/BookConverter/index.js b/server/core/BookConverter/index.js index 951af446..5311d77d 100644 --- a/server/core/BookConverter/index.js +++ b/server/core/BookConverter/index.js @@ -225,11 +225,6 @@ class BookConverter { body.section._a[0] = pars; } - //убрать лишнее - for (let p of body.section._a[0]) { - p._t = p._t.replace(/[\t\n\r]/g, ' '); - } - return this.formatFb2(fb2); } @@ -397,15 +392,18 @@ class BookConverter { formatFb2Node(node, name) { let out = ''; + + const repl = (text) => text.replace(/[\t\n\r]/g, ' '); + if (Array.isArray(node)) { for (const n of node) { out += this.formatFb2Node(n); } } else if (typeof node == 'string') { if (name) - out += `<${name}>${node}`; + out += `<${name}>${repl(node)}`; else - out += node; + out += repl(node); } else { if (node._n) name = node._n; @@ -413,7 +411,7 @@ class BookConverter { if (name) out += `<${name}>`; if (node.hasOwnProperty('_t')) - out += node._t; + out += repl(node._t); for (let nodeName in node) { if (nodeName && nodeName[0] == '_' && nodeName != '_a')