PHP中删除HTML标签的三种常用方法

苏见山
苏见山
发布时间:2026-10-14| 5人浏览过
原创

在PHP开发中,经常需要清理用户输入或处理文本数据,去除其中包含的HTML标签以确保安全性或格式统一。本文将详细讲解三种常用的PHP方法来删除HTML标签:使用系统内置的strip_tags函数、通过str_replace进行精准替换,以及利用strtr函数进行字符转换。

方法一:使用 strip_tags 函数(推荐)

strip_tags() 是PHP中最常用且高效的去除HTML/XML及PHP标签的内置函数。它不仅能处理标准标签,对部分非标准闭合的标签也能正确处理。

  1. 功能说明:该函数会剔除字符串中的所有HTML、XML和PHP标记。
  2. 基本用法:直接将待处理的字符串作为参数传入。
<?php
$str = 'www<p>dreamdu</p>.com';
echo htmlspecialchars($str) . '<br>'; // 显示原始内容以对比
echo strip_tags($str);                 // 输出结果: wwwdreamdu.com
?>

注意事项:

  • 如果希望保留某些特定标签(如换行符),可以在第二个参数中指定允许的标签列表:`strip_tags($string, '<br><p>'`。
  • 对于恶意注入的畸形标签,strip_tags通常也能鲁棒地处理,但仍建议结合其他安全校验手段。

方法二:使用 str_replace 精准替换

如果你只需要删除特定的标签(例如只删除
标签),可以使用 str_replace() 函数。这种方法灵活性高,可以针对具体的HTML实体或标签字符串进行操作。

操作示例:移除字符串中的 <br> 标签。

<?php
function stripBr($str) {
    // 1. 替换HTML实体形式的br标签(如 &lt;br&gt; 需根据实际存储形式调整,这里演示替换普通
) $str = str_replace('<br>', '', $str); // 如果需要同时替换大小写或其他变体,可多次调用或使用正则 return $str; } // 注意:原草稿中混合使用了 str_replace 和 strip_tags,最佳实践是直接替换目标字符串 ?>

提示:如果HTML标签是以实体形式存储(如 `
` 变为 `<br>`),需要对应替换实体字符串。此方法适合简单、明确的标签清理场景。

方法三:使用 strtr 函数进行转换

strtr() 是另一个强大的字符串转换函数,它可以通过映射数组将字符或子字符串替换为其他内容。虽然它不是专门用于删除HTML标签的,但可以用于特定的字符级清理。

语法结构

有两种主要调用方式:

  1. strtr(string, from, to):逐个字符替换。
  2. strtr(string, array):基于数组映射替换子字符串。

使用示例

示例1:单字符替换

<?php
// 将 'i' 替换为 'e','a' 替换为 'o'
echo strtr('Hilla Warld', 'ia', 'eo'); 
// 输出: Hello World
?>

示例2:子字符串映射替换

<?php
$arr = array("Hello" => "Hi", "world" => "earth");
echo strtr("Hello world", $arr);
// 输出: Hi earth
?>

在删除标签中的应用

若要使用 strtr 删除标签,通常需要构建一个庞大的映射表,将每个可能的HTML标签映射为空字符串 ''。由于HTML标签种类繁多,这种方法效率低于 strip_tags,仅适用于标签集合固定且较少的特殊场景。

总结与选择建议

在实际开发中:

  • 通用去标签:首选 strip_tags(),简单、快速且兼容性好。
  • 保留特定标签:使用 strip_tags($str, $allowed_tags)。
  • 精确删除指定标签:若只需删除少数几种已知标签,可使用 str_replace() 提高可控性。
  • 复杂清洗:如果涉及复杂的HTML结构清洗或富文本处理,建议考虑引入专门的库(如 HTMLPurifier)以避免安全风险。

以上就是PHP中删除HTML标签的详细方法与原理,更多关于PHP字符串处理的技术资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。