原文網址:http://www.manongjc.com/article/1103.html
先來看看htmlspecialchars函數與strip_tags函數的使用實例:
<?php
$str="<a href='http://www.manongjc.com'>码农教程'\"</a>";
echo htmlspecialchars($str);
echo "<br/><br/>";
echo strip_tags($str);
?>
登入後複製
瀏覽器輸出以下結果:
碼農教學
碼農教學' "
碼農教學'"
查看頁源碼,結果如下:
<a href='http://www.manongjc.com'>码农教程'"</a><br/><br/>码农教程'"
登入後複製
從結果可以看出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