微信小程序不支持直接渲染html,需用wxparse或towxml转换;后端php必须用htmlpurifier清洗html并补全https图片链接,且域名须配置合法请求白名单。

微信小程序不支持直接渲染 HTML 字符串,PHP 后端返回的富文本(如带 <p></p>、<img alt="php微信小程序富文本怎渲染_php输出富文本内容法【技巧】" >、<strong></strong> 的内容)必须在小程序端做安全转换,不能用 dangerouslySetInnerHTML 类机制。
小程序端必须用 wxParse 或 towxml 解析 HTML 字符串
原生 <rich-text></rich-text> 组件能力极弱:只支持有限标签(<span></span>、<br>、<img alt="php微信小程序富文本怎渲染_php输出富文本内容法【技巧】" >),不支持 <p></p>、<div>、内联样式、class、自定义属性;遇到未知标签会直接丢弃整段内容。
<ul>
<li>
<code>wxParse 是较成熟的轻量方案,把 HTML 转成 WXML 节点树,支持图片懒加载、自定义样式映射
towxml 功能更强(支持表格、代码块、MathML),但体积大、需额外配置域名白名单和 HTTPS@towxml/json)PHP 后端要避免直接输出未过滤的 HTML
用户提交的富文本可能含 <script></script>、onerror、javascript: 伪协议。PHP 必须清洗后再返回给小程序:
- 用
htmlspecialchars()不够——它只转义,不移除危险标签 - 推荐用
HTMLPurifier库(需 Composer 安装),配置白名单:<p></p>、<strong></strong>、<em></em>、<img alt="php微信小程序富文本怎渲染_php输出富文本内容法【技巧】" >(限制src协议为https://)、<br> - 若不用第三方库,可用
strip_tags()+ 正则粗筛,但无法处理属性 XSS,仅限内部可信内容
<img alt="php微信小程序富文本怎渲染_php输出富文本内容法【技巧】" > 标签的 src 必须是合法 HTTPS 域名且已加到小程序 request 合法域名
小程序 <rich-text></rich-text> 和 wxParse 渲染的图片,都受网络请求域权限控制。常见问题:
立即学习“PHP免费学习笔记(深入)”;
- 后端返回的
<img src="http://xxx.jpg" alt="php微信小程序富文本怎渲染_php输出富文本内容法【技巧】" >→ 小程序直接不加载(HTTP 被拦截) - 返回相对路径
<img src="/upload/1.jpg" alt="php微信小程序富文本怎渲染_php输出富文本内容法【技巧】" >→ 404(没拼 base URL) - 正确做法:PHP 输出前统一补全为完整 HTTPS 链接,例如
https://api.example.com/upload/1.jpg - 同时确认该域名已在小程序后台「开发管理 > 开发者工具 > 服务器域名」中添加到
request白名单
真正麻烦的不是解析 HTML,而是图片资源路径合法性、样式还原精度、以及服务端清洗粒度——这三个点没对齐,前端再换几个解析库也白搭。











