/** * HTML内容处理工具 - 小程序版本 * 用于处理富文本内容中的格式问题 */ /** * 处理HTML内容 * @param {string} htmlContent - 原始HTML内容 * @returns {string} 处理后的HTML内容 */ function processHtmlContent(htmlContent) { if (!htmlContent) return '' let processedContent = htmlContent // 1. 处理段落中的前导空格,转换为缩进 processedContent = processedContent.replace(/

\s+([^<]*)<\/p>/g, '

$1

') // 2. 处理段落内部的多个连续空格 processedContent = processedContent.replace( /

([^<]*?)\s{2,}([^<]*?)<\/p>/g, '

$1$2

', ) // 3. 处理图片容器,添加统一的样式类 processedContent = processedContent.replace( /
/g, '
', ) // 5. 处理视频容器(如果有的话) processedContent = processedContent.replace( /
/g, '
', ) // 6. 移除空的段落标签 processedContent = processedContent.replace(/

<\/p>/g, '') // 7. 处理图片的alt属性 processedContent = processedContent.replace( /]*?)src="([^"]*?)"([^>]*?)\/?>/g, '', ) return processedContent } /** * 获取处理HTML内容的CSS样式类名映射 * @returns {object} 样式类名映射对象 */ function getHtmlContentStyleClasses() { return { indent: 'html-indent', indentText: 'html-indent-text', processedImage: 'html-processed-image', contentImage: 'html-content-image', processedAudio: 'html-processed-audio', processedVideo: 'html-processed-video', mediaWrap: 'html-media-wrap' } } module.exports = { processHtmlContent, getHtmlContentStyleClasses }