当前位置: 首页> 最新文章列表> 什么是strip_tags函数?教你如何用strip_tags轻松清除HTML标签

什么是strip_tags函数?教你如何用strip_tags轻松清除HTML标签

gitbox 2025-09-04

在PHP中,strip_tags()函数是一种非常常用的工具,它可以帮助你从字符串中清除所有HTML和PHP标签,只保留纯文本。这在处理来自用户输入或外部资源的数据时尤其重要,确保数据的安全性和可读性,防止恶意脚本注入或过多的HTML标签影响页面显示。

1. strip_tags()函数的基本语法

strip_tags()函数的基本语法如下:

<span><span><span class="hljs-title function_ invoke__">strip_tags</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">null</span></span><span> </span><span><span class="hljs-variable">$allowed_tags</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>
  • $str: 这是需要清除HTML标签的输入字符串。

  • $allowed_tags: 这是一个可选的参数,它允许你保留某些HTML标签。如果你希望保留某些标签(如<b><i>),可以在此参数中指定它们。如果不指定,则默认为null,即去除所有HTML标签。

2. 示例:基本使用

下面是一个简单的例子,演示如何使用strip_tags()去除HTML标签:

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"&lt;p&gt;Hello &lt;b&gt;World&lt;/b&gt;!&lt;/p&gt;"</span></span><span>;
</span><span><span class="hljs-variable">$clean_string</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strip_tags</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$clean_string</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

输出结果将是:

<span><span><span class="hljs-attribute">Hello</span></span><span> World!
</span></span>

在这个例子中,strip_tags()清除了<p><b>标签,只保留了纯文本“Hello World!”

3. 示例:保留特定标签

如果你希望在清除HTML标签时,保留一些特定的标签,可以使用$allowed_tags参数。例如,保留<b><i>标签:

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"&lt;p&gt;This is &lt;b&gt;bold&lt;/b&gt; and &lt;i&gt;italic&lt;/i&gt; text.&lt;/p&gt;"</span></span><span>;
</span><span><span class="hljs-variable">$clean_string</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strip_tags</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-string">"&lt;b&gt;&lt;i&gt;"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$clean_string</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

输出结果将是:

<span><span>This is &lt;</span><span><span class="hljs-selector-tag">b</span></span><span>&gt;bold&lt;/</span><span><span class="hljs-selector-tag">b</span></span><span>&gt; and &lt;</span><span><span class="hljs-selector-tag">i</span></span><span>&gt;italic&lt;/</span><span><span class="hljs-selector-tag">i</span></span><span>&gt; text.
</span></span>

在这个例子中,<b><i>标签被保留下来,而其他标签(如<p>)则被去除。

4. 常见应用场景

  1. 用户输入过滤:当用户通过表单提交文本时,可能会包含不需要的HTML标签,使用strip_tags()可以有效清理不必要的标签,防止潜在的XSS攻击。

  2. 数据清理:当从数据库或外部API获取HTML内容时,可能需要将内容中的HTML标签去除,以便进行后续处理或显示。

  3. 文本展示:有时在显示用户评论或其他内容时,只需要展示纯文本而不需要HTML格式,此时strip_tags()就非常有用。

5. 注意事项

  • strip_tags()函数无法处理某些特定的HTML元素或嵌套标签。例如,如果HTML内容中包含嵌套的标签,strip_tags()只能清除外部标签,而不会影响内部标签的行为。

  • 在处理包含<script><style>标签的HTML时,虽然strip_tags()能清除大部分标签,但可能仍需结合其他方法,如正则表达式,来确保脚本或样式完全被移除。

6. 总结

strip_tags()是一个非常实用的PHP函数,可以帮助我们从字符串中清除HTML标签,仅保留纯文本内容。在进行数据过滤、用户输入清理或展示纯文本内容时,它是一个不可或缺的工具。通过简单的使用方法和可选的allowed_tags参数,我们可以灵活地控制需要保留的标签,确保网页显示符合我们的需求。

  • 相关标签:

    HTML