首頁  >  文章  >  後端開發  >  php htmlspecialchars()和strip_tags函數的區別

php htmlspecialchars()和strip_tags函數的區別

怪我咯
怪我咯原創
2017-06-08 14:15:281924瀏覽

php htmlspecialchars()和strip_tags函數都是格式化HTML程式碼的,很多人都以為htmlentities跟htmlspecialchars的功能是一樣的,但是他們真的是一樣的嗎,答案是否定的,不然也不會這兩個函數的,這篇文章就帶大家了解一下php htmlspecialchars()和strip_tags函數的差異

先來看htmlspecialchars函數和strip_tags函數的使用實例:

<?php
$str="<a href=&#39;http://www.php.cn&#39;>php中文网</a>";
echo htmlspecialchars($str);
echo "<br><br>";
echo strip_tags($str);
?>

程式碼執行瀏覽器輸出結果:

php htmlspecialchars()和strip_tags函數的區別

查看頁面原始碼,結果如下:

<a href=&#39;http://www.php.cn&#39;>php中文网&#39;"</a><br/><br/>php中文网&#39;"

從結果可以看出htmlspecialchars() 和strip_tags的差異如下:

區別一:

strip_tags函數使用來移除HTML標籤的,而htmlspecialchars並沒有移除html標籤,只是把標籤轉換成HTML實例,所以二者之間最大的區別是一個是刪除掉HTML標籤,一個是將html標籤轉換為其他字元。

區別二:

如果需要移除HTML標籤的字串裡面的標籤原來就有錯,例如少了大於的符號,在使用strip_tags函數會傳回錯誤,而htmlspecialchars不會有錯誤出現,依後轉換為HTML實體。

區別三:

在防止XSS攻擊時,一般建議使用htmlspecialchars函數,因為strip_tags雖然可以刪除HTML標籤,但是它不會刪除"或'。因此就算你使用了strip_tags ,仍然需要使用htmlspecialchars函數來過濾掉"或'

在表單提交或用戶留言板裡,如果你希望資料原始輸出帶瀏覽器,那麼請使用htmlspecialchars函數,不要使用strip_tags函數。

【相關文章推薦】

php中htmlspecialchars、strip_tags、addslashes函數的簡單介紹

php 移除字串標籤strip_tags( ) 函數範例詳解

以上是php htmlspecialchars()和strip_tags函數的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn