Server IP : 92.205.26.207 / Your IP : 216.73.216.16 Web Server : Apache System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64 User : zikryat ( 1002) PHP Version : 8.3.23 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/zikryat/public_html/node_modules/list-stylesheets/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
const cheerio = require('cheerio'); const pick = require('pick-util'); function replaceCodeBlock(html, re, block) { return html.replace(re, () => block); } module.exports = (html, options) => { const results = {}; const codeBlocks = { EJS: { start: '<%', end: '%>' }, HBS: { start: '{{', end: '}}' } }; const codeBlockLookup = []; const encodeCodeBlocks = _html => { let __html = _html; const blocks = Object.assign(codeBlocks, options.codeBlocks); Object.keys(blocks).forEach(key => { const re = new RegExp(blocks[key].start + '([\\S\\s]*?)' + blocks[key].end, 'g'); __html = __html.replace(re, match => { codeBlockLookup.push(match); return 'EXCS_CODE_BLOCK_' + (codeBlockLookup.length - 1) + '_'; }); }); return __html; }; const decodeCodeBlocks = _html => { let index; let re; let __html = _html; for (index = 0; index < codeBlockLookup.length; index++) { re = new RegExp('EXCS_CODE_BLOCK_' + index + '_(="")?', 'gi'); __html = replaceCodeBlock(__html, re, codeBlockLookup[index]); } return __html; }; const encodeEntities = _html => encodeCodeBlocks(_html); const decodeEntities = _html => decodeCodeBlocks(_html); let $; $ = cheerio.load(encodeEntities(html), Object.assign({ decodeEntities: false }, pick(options, [ 'xmlMode', 'decodeEntities', 'lowerCaseTags', 'lowerCaseAttributeNames', 'recognizeCDATA', 'recognizeSelfClosing' ]))); results.hrefs = []; $('link').each((index, element) => { const $el = $(element); if ($el.attr('rel') && $el.attr('rel').toLowerCase() === 'stylesheet') { if (options.applyLinkTags) { results.hrefs.push($el.attr('href')); } if (options.removeLinkTags) { $el.remove(); } } }); results.html = decodeEntities($.html()); return results; };