PHP strip_tags() 過濾字串中的 HTML 標籤

2019/06/28 1,926 3 網站技術 , PHP

後端常常要處理前端來的字串,免不了使用者會輸入 HTML 相關標籤,這時候就要看需求而定了!如果像是帳號或密碼欄位,就應該過濾掉所有的 HTML 標籤(如:<a>、<h1> 或 <p> 等),避免顯示上不必要的錯誤!如果是個性簽名這樣的欄位,就可以選擇性保留一些文字樣式的 HTML 標籤,如:<b> 粗體、<i> 斜體或 <br> 換行,這些都是常常被保留的 HTML 標籤,我們來看一下 strip_tags() 的使用方式吧!

strip_tags(string, allow) // string 必需,要過濾的字串;allow 可選,允許的 HTML 標籤

這邊就給個範例來讓大家參考:

▲ 將 a、b、c 三個字串只保留 <b>,最後輸出的結果是原有的 <a>、<i> 和 <br> 效果都失效。

⌨ 完整程式碼提供:

<!DOCTYPE html>
<html lang="zh-TW">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>strip_tags() 過濾字串中的 HTML 標籤函數</title>
</head>
<body>
<?php

// 設定字串
$a = "<b>萌芽網頁</b>的網址是 <i><b>mnya.tw</b></i>";
$b = "<b><a href='mnya.tw'>萌芽網頁</a></b>";
$c = "<b>萌芽網頁<br>超讚啦</b>";
echo "a:" . $a . "<br>";
echo "b:" . $b . "<br>";
echo "c:" . $c . "<br>";

// strip_tags()

echo "<br>◆ strip_tags() 過濾字串中的 HTML 標籤示範(只保留 <b>):<br>";

echo "a:" . strip_tags($a,"<b>") . "<br>";
echo "b:" . strip_tags($b,"<b>") . "<br>";
echo "c:" . strip_tags($c,"<b>") . "<br>";

?>
</body>
</html>
贊助廣告 ‧ Sponsor advertisements

留言區 / Comments

萌芽論壇