Уберите разрыв строки и пустые теги из строки и создайте массив, используя регулярное выражение - PullRequest
0 голосов
/ 28 апреля 2019

У меня очень странная строка в ответ на API.В строке много разрывов строк, пустых тегов p и других тегов, включая теги img.

Я хочу написать регулярное выражение для удаления всех разрывов строк и пустых тегов p и создания массива из содержимого непустых тегов p итеги изображения.

Пример строки:

'<p>↵   This is the cap you unscrew to open when you refuel your car↵</p>↵↵<p>↵ New line↵</p>↵↵<p>↵ <img alt="blah" src="https://www.imgone.com/wp-content/uploads/2011/04/Tyre-Illustration-500.jpg" />↵</p>Random Text <img alt="blah" src="https://www.imgtwo.com/wp-content/uploads/2011/04/Tyre-Illustration-500.jpg" />'

Я хочу написать регулярное выражение, которое выдаст что-то вроде

['This is the cap you unscrew to open when you refuel your car', 'New line', 'Random Text']

['<img alt="blah" src="https://www.imgone.com/wp-content/uploads/2011/04/Tyre-Illustration-500.jpg" />', '<img alt="blah" src="https://www.imgtwo.com/wp-content/uploads/2011/04/Tyre-Illustration-500.jpg" />']

Большое спасибодля вас время.

1 Ответ

0 голосов
/ 28 апреля 2019

HTML-строку можно проанализировать с помощью DOMParser:

var html = '<p>\n   This is the cap you unscrew to open when you refuel your car\n</p>\n\n<p>\n New line\n</p>\n\n<p>\n <img alt="blah" src="https://www.imgone.com/wp-content/uploads/2011/04/Tyre-Illustration-500.jpg" />\n</p>Random Text <img alt="blah" src="https://www.imgtwo.com/wp-content/uploads/2011/04/Tyre-Illustration-500.jpg" />'

var doc = new DOMParser().parseFromString(html, 'text/html');

var lines = doc.documentElement.textContent.trim().split(/\s*\n\s*/);

var images = [].map.call(doc.images, function(img) { return img.outerHTML; });

console.log( lines );
console.log( images );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...