PHP strip_tags函數介紹

當我們從一個頁面上抓取/讀取數據時,經常會出現不需要HTML標記的純文本數據的需求。或者在自己的程序中需要過濾掉HTML標記以確保輸出的安全性和數據的準確性。那麼在這種情況下,我們就可以使用PHP的strip_tags函數,它可以移除字元串中全部或部分的HTML標籤。

一、strip_tags函數的基本語法

    mixed strip_tags ( string $string [, string $allowable_tags ] )

在上面的函數語法中:

  • 第一個參數 string 是必需的,表示輸入的字元串,該項不能省略。
  • 第二個參數 allowable_tags 是可選的,它定義了允許出現的標籤。如果別了這個參數,則該函數會移除所有的標籤。
  • 函數返回一個處理後的字元串,如果出錯返回FALSE。

二、strip_tags函數的使用方法

strip_tags函數非常簡單易用,下面是一個例子:

    $str = "帶 Html 標籤的字元串";
    $strtags = strip_tags($str); // 移除 $str 中的所有標記以下輸出結果:
    echo $strtags;

輸出結果是一個不帶HTML標籤的純文本字元串。

三、移除指定的HTML標籤

除了移除所有的HTML標記外,如果你希望只移除某些指定的HTML標籤或屬性,可以在函數的第二個可選參數中添加這些標籤,例如:

    $str = "

這是一個有些HTML標記的文字。

"; $strtags = strip_tags($str, '

'); echo $strtags;

這個例子中,\

\標籤被允許放行,而\被移除了。

四、保留某些HTML標籤和其中的內容

相比較之下,有時候我們是希望保留某些HTML標籤和其中的內容,該怎麼做呢?可以採用strip_tags函數的逆操作,把我們需要的標記或者內容替換成標記,具體實現如下:

function stripTagsContent($text, $tags = '', $invert = FALSE) {

preg_match_all('//si', trim($tags), $tags);
$tags = array_unique($tags[1]);

if (is_array($tags) && count($tags) > 0) {
if ($invert == FALSE) {
$text = preg_replace('/]*)?>/si', '', $text);
}else {
$text = preg_replace('/]*)?>)([\s\S]*?)>/si', '', $text);
}
} elseif ($invert == FALSE) {
$text = preg_replace('/]*)?>)(.*?)>/si', '', $text);
}

return $text;
}

$str = '

這是一個有些HTML標記的文字。

原創文章,作者:THLM,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/131612.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
THLM的頭像THLM
上一篇 2024-10-03 23:46
下一篇 2024-10-03 23:46

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字元串操作中,capitalize函數常常被用到,這個函數可以使字元串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 單片機列印函數

    單片機列印是指通過串口或並口將一些數據列印到終端設備上。在單片機應用中,列印非常重要。正確的列印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的列印數據可以幫助我們快速…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • 分段函數Python

    本文將從以下幾個方面詳細闡述Python中的分段函數,包括函數基本定義、調用示例、圖像繪製、函數優化和應用實例。 一、函數基本定義 分段函數又稱為條件函數,指一條直線段或曲線段,由…

    編程 2025-04-29

發表回復

登錄後才能評論