diff --git a/web-extension/extractHtml.js b/web-extension/extractHtml.js index f9f9880..328e8aa 100644 --- a/web-extension/extractHtml.js +++ b/web-extension/extractHtml.js @@ -154,7 +154,7 @@ function force($content, withError) { contentString = contentString.replace(/ /gi, ' '); // getHref() replace does not work (& is overwritten) - contentString = escapeAmp(contentString); + contentString = escapeXMLChars(contentString); return contentString; } catch (e) { diff --git a/web-extension/saveEbook.js b/web-extension/saveEbook.js index d9db20c..4458d27 100644 --- a/web-extension/saveEbook.js +++ b/web-extension/saveEbook.js @@ -38,11 +38,11 @@ function _buildEbook(allPages) { var ebookFileName = 'eBook.epub'; if (ebookTitle) { - // ~TODO a pre-processing function to apply escapeAmp to all page.titles - ebookName = escapeAmp(ebookTitle); + // ~TODO a pre-processing function to apply escapeXMLChars to all page.titles + ebookName = escapeXMLChars(ebookTitle); ebookFileName = getEbookFileName(ebookTitle) + '.epub'; } else { - ebookName = escapeAmp(allPages[0].title); + ebookName = escapeXMLChars(allPages[0].title); ebookFileName = getEbookFileName(allPages[0].title) + '.epub'; } @@ -73,7 +73,7 @@ function _buildEbook(allPages) { '

Table of Contents

' + '
    ' + allPages.reduce(function(prev, page) { - var tmpPageTitle = escapeAmp(page.title); + var tmpPageTitle = escapeXMLChars(page.title); return prev + '\n' + '
  1. ' + tmpPageTitle + '
  2. '; }, '') + '
' + @@ -94,7 +94,7 @@ function _buildEbook(allPages) { '' + '' + allPages.reduce(function(prev, page, index) { - var tmpPageTitle = escapeAmp(page.title); + var tmpPageTitle = escapeXMLChars(page.title); return prev + '\n' + '' + '' + tmpPageTitle + '' + @@ -113,7 +113,7 @@ function _buildEbook(allPages) { var pagesFolder = oebps.folder('pages'); allPages.forEach(function(page) { - var tmpPageTitle = escapeAmp(page.title); + var tmpPageTitle = escapeXMLChars(page.title); pagesFolder.file(page.url, '' + '' + diff --git a/web-extension/utils.js b/web-extension/utils.js index 80e4982..3897aa3 100644 --- a/web-extension/utils.js +++ b/web-extension/utils.js @@ -167,7 +167,7 @@ function getAbsoluteUrl(urlStr) { } else if (urlStr.indexOf('http') !== 0) { absoluteUrl = currentUrl + '/' + urlStr; } - absoluteUrl = escapeAmp(absoluteUrl); + absoluteUrl = escapeXMLChars(absoluteUrl); return absoluteUrl; } catch (e) { console.log('Error:', e); @@ -291,13 +291,18 @@ function generateRandomTag(tagLen) { return text; } -function escapeAmp(text) { - var newText = text.replace(/&/ig, '&'); - newText = newText.replace(/&/ig, '&'); - return newText; +function escapeXMLChars(text) { + return text.replace(/&/g, '&') + .replace(/>/g, '>') + .replace(/