當前位置: 首頁> 最新文章列表> 什麼是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