在JavaScript中提取内容字段里的全部图片,通常是指从一段HTML文本中提取所有的<img>
标签。以下是实现这一功能的基础概念和相关方法:
以下是使用DOM方法和正则表达式提取HTML内容中所有图片的示例代码:
function extractImagesUsingDOM(htmlContent) {
const parser = new DOMParser();
const doc = parser.parseFromString(htmlContent, 'text/html');
const images = doc.querySelectorAll('img');
return Array.from(images).map(img => img.src);
}
// 示例使用
const htmlContent = '<div><img src="image1.jpg"><p>Some text</p><img src="image2.png"></div>';
console.log(extractImagesUsingDOM(htmlContent)); // 输出: ["image1.jpg", "image2.png"]
function extractImagesUsingRegex(htmlContent) {
const regex = /<img[^>]+src="([^">]+)"/g;
let match;
const images = [];
while ((match = regex.exec(htmlContent)) !== null) {
images.push(match[1]);
}
return images;
}
// 示例使用
const htmlContent = '<div><img src="image1.jpg"><p>Some text</p><img src="image2.png"></div>';
console.log(extractImagesUsingRegex(htmlContent)); // 输出: ["image1.jpg", "image2.png"]
import DOMPurify from 'dompurify';
function safeExtractImages(htmlContent) {
const cleanHtml = DOMPurify.sanitize(htmlContent);
const parser = new DOMParser();
const doc = parser.parseFromString(cleanHtml, 'text/html');
const images = doc.querySelectorAll('img');
return Array.from(images).map(img => img.src);
}
通过以上方法,可以有效地从HTML内容中提取所有图片,并根据具体需求选择合适的技术方案。
领取专属 10元无门槛券
手把手带您无忧上云