使用 strip_tags() 过滤 html 标签时,通过第二个参数传入白名单字符串来指定允许保留的标签。该函数会移除所有不在白名单中的标签及其内容(若标签有闭合要求),仅保留白名单内的标签。例如,调用
strip_tags($html, '<p><br><a>')可以只保留段落、换行和链接标签。

如何构建并验证白名单字符串?
白名单是一个包含尖括号的标签名称列表,如 '<b><i><u>'</u></i></b>。只需将允许的标签名用尖括号包裹并用空格或逗号分隔即可。函数会自动解析这些标签,移除未列出的任何 HTML 结构。注意,白名单不区分大小写,且不支持属性过滤,仅控制标签本身的去留。

生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur
<?php $html = '<p>Hello <b>World</b><script>alert(1)</script><i>Italic</i>'; // 允许 p, b, i 标签 $allowed = '<p><b><i>'; $result = strip_tags($html, $allowed); echo $result; ?>
预期输出:Hello WorldItalic。脚本标签被完全移除,包括其内容,而 p、b 和 i 标签及其内容被保留。
立即学习“PHP免费学习笔记(深入)”;
白名单中是否支持带属性的标签?
不支持。strip_tags() 的白名单机制仅识别标签名称,无法保留或过滤标签的属性。如果输入中包含 <a href=""></a>


















