Получить первые два HTML-элемента разобранного файла Markdown в NodeJS - PullRequest
0 голосов
/ 26 октября 2018

Предполагается, что у меня есть файл Markdown, который анализируется на лету и возвращает следующий или аналогичный результат:

<h1>hello</h1><p>sometext</p><img src="image.jpg"/><ul><li>one</li>two</li></ul>

и я хотел бы вернуть тег h1 и первый p в этом примере. Как вы думаете, это возможно надежным способом? Я просто хочу получить подстроку проанализированной строки Markdown с первыми двумя элементами (они также могут быть двумя разными элементами, чем h1 и p)

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Итак, по сути, вы хотите очистить сеть. В этом случае вывод из проанализированной уценки

Самый простой и знакомый способ - использовать библиотеку Cheerio .

const cheerio = require('cheerio');
const $ = cheerio.load('<h1>hello</h1><p>sometext</p><img src="image.jpg"/><ul><li>one</li>two</li></ul>');

const h1 = $('h1');
const p = $('p');

Используется синтаксис стиля Jquery. Но помните, cheerio используется только для статического домена.

0 голосов
/ 26 октября 2018

Используйте библиотеку DOM, такую ​​как cheerio, затем вы можете преобразовать строку в DOM и извлечь из нее интересующие вас биты.

const cheerio = require('cheerio');
const html = `<h1>hello</h1><p>sometext</p><img src="image.jpg"/><ul><li>one</li>two</li></ul>`;
const $ = cheerio.load(html);
const p = $('<div />').append(
        $('p').first().clone()
).html();
const  h1= $('<div />').append(
        $('h1').first().clone()
).html();

process.stdout.write(h1);
process.stdout.write(p);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...