首頁  >  文章  >  php教程  >  php 使用htmlspecialchars() 和strip_tags函數過濾HTML標籤的區別

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

WBOY
WBOY原創
2016-09-30 09:23:101385瀏覽

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

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

<?<span style="color: #000000;">php  
</span><span style="color: #800080;">$str</span>="<a href='http://www.manongjc.com'>码农教程'\"</a>"<span style="color: #000000;">;  
</span><span style="color: #0000ff;">echo</span> <span style="color: #008080;">htmlspecialchars</span>(<span style="color: #800080;">$str</span><span style="color: #000000;">);  
</span><span style="color: #0000ff;">echo</span> "<br/><br/>"<span style="color: #000000;">;  
</span><span style="color: #0000ff;">echo</span> <span style="color: #008080;">strip_tags</span>(<span style="color: #800080;">$str</span><span style="color: #000000;">);  
</span>?> 

瀏覽器輸出如下結果:

<a href='http://www.manongjc.com'>码农教程'<span style="color: #000000;">"</a>  
  
码农教程</span>'"  

查看頁面來源碼,結果如下:

<span style="color: #0000ff;"><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">='http://www.manongjc.com'</span><span style="color: #0000ff;">></span>码农教程'"<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span>码农教程'" 

 

從結果可以看出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函數。

 

關於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