首頁 >类库下载 >PHP类库 >php 使用htmlspecialchars() 和strip_tags函數過濾HTML標籤的區別

php 使用htmlspecialchars() 和strip_tags函數過濾HTML標籤的區別

高洛峰
高洛峰原創
2016-10-09 11:28:021671瀏覽

原文網址:http://www.manongjc.com/article/1103.html

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

<?php  
$str="<a href=&#39;http://www.manongjc.com&#39;>码农教程&#39;\"</a>";  
echo htmlspecialchars($str);  
echo "<br/><br/>";  
echo strip_tags($str);  
?>

瀏覽器輸出以下結果:

碼農教學

碼農教學' "    
碼農教學'"  

查看頁源碼,結果如下:

<a href=&#39;http://www.manongjc.com&#39;>码农教程&#39;"</a><br/><br/>码农教程&#39;"

從結果可以看出htmlspecialchars() 和strip_see的區別HTML標籤的,而htmlspecialchars並沒有移除html標籤,只是把標籤轉換成HTML實例,所以二者之間最大的差異就是一個是刪除掉HTML標籤,一個是將html標籤轉換成其他字元。

 

區別二:

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

 

區別三:

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

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

 

關於htmlspecialchars() 和strip_tags函數請參考閱讀:

http://www.manongjc.com/article/1213.html

http://www.manongjc.com/article/1099.html

http://www.manongjc.com/article/795.html

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

相關文章

看更多