У меня очень странная строка в ответ на 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" />']
Большое спасибодля вас время.
HTML-строку можно проанализировать с помощью DOMParser:
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 );