
本文介绍如何在 php 中安全移除 html 标签,并有效压缩多余空白(如换行、制表符和连续空格),避免 strip_tags() 后 textarea 显示大量冗余空行或缩进。
在 Web 开发中,常需将富文本内容(如 WordPress REST API 返回的 content.rendered 字段)展示于
正确的处理流程应分为两步:先剥离标签,再规范化空白。PHP 原生函数 strip_tags() 是剥离 HTML/XML 标签的安全首选(相比正则匹配更可靠),但它不处理空白字符。因此需配合 preg_replace() 进行二次清理:
在 HTML 输出中,直接回显 $cleanText 即可获得紧凑、易读的纯文本:
⚠️ 重要注意事项:
立即学习“PHP免费学习笔记(深入)”;
- 始终对输出到 HTML 的变量使用 htmlspecialchars()(如上例),防止 XSS 漏洞——strip_tags() 不等同于输出转义;
- 若需保留段落换行(如将
转为 \n),应改用 DOMDocument 解析 + 自定义逻辑,而非简单正则;
- preg_replace 中的正则 /[\r\n\t]+/ 匹配所有回车、换行、制表符,/\s{2,}/ 匹配两个及以上任意空白字符,二者组合可覆盖绝大多数冗余空白场景。
通过“剥离→压缩→转义”三步法,即可在保障安全性的同时,显著提升 textarea 内容的整洁度与可用性。











