在php中htmlspecialchars,將特殊字元轉(zhuǎn)成 HTML 格式,而htmlentities,將所有的字元都轉(zhuǎn)成 HTML 字串 了,下面我來分別簡單的介紹.

htmlentities用法,代碼如下:

  1. <html> 
  2. <body> 
  3. <?php 
  4. $str = "John & 'Adams'"
  5. echo htmlentities($str, ENT_COMPAT); 
  6. echo "<br />"
  7. echo htmlentities($str, ENT_QUOTES); 
  8. //開源軟件:phpfensi.com 
  9. echo "<br />"
  10. echo htmlentities($str, ENT_NOQUOTES); 
  11. ?> 
  12. </body> 
  13. </html> 
  14. //瀏覽器輸出: 
  15. John & 'Adams' 
  16. John & 'Adams' 
  17. John & 'Adams' 
  18. //htmlspecialchars用法 
  19. & (和) 轉(zhuǎn)成 &amp;  
  20. " (雙引號) 轉(zhuǎn)成 &quot;  
  21. < (小于) 轉(zhuǎn)成 &lt;  
  22. > (大于) 轉(zhuǎn)成 &gt; 

例,代碼如下:

  1. <html> 
  2. <body> 
  3. <?php 
  4. $str = "John & 'Adams'"
  5. echo htmlspecialchars($str, ENT_COMPAT); 
  6. echo "<br />"
  7. echo htmlspecialchars($str, ENT_QUOTES); 
  8. echo "<br />"
  9. echo htmlspecialchars($str, ENT_NOQUOTES); 
  10. ?> 
  11. </body> 
  12. </html> 

他們的區(qū)別:

這兩個函數(shù)的功能都是轉(zhuǎn)換字符為HTML字符編碼,特別是url和代碼字符串,防止字符標記被瀏覽器執(zhí)行,使用中文時沒什么區(qū)別,但htmlentities會格式化中文字符使得中文輸入是亂碼.

htmlentities轉(zhuǎn)換所有的html標記,htmlspecialchars只格式化& ' " < 和 > 這幾個特殊符號,代碼如下:

  1. $str = '<a >; 
  2. echo 'htmlentities指定GB2312編碼:'.htmlentities($str,ENT_COMPAT,"GB2312").''
  3. echo 'htmlentities未指定編碼:'.htmlentities($str).''
  4. $str = '<a >; 
  5. echo htmlspecialchars($str).''

效果,代碼如下:

htmlentities指定GB2312編碼:<a >

htmlentities未指定編碼:<a >

<a > 轉(zhuǎn)載請注明來源:php中htmlspecialchars,htmlentities用法

  哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無需額外費用,即可穩(wěn)步提升排名至首頁。歡迎體驗最佳的哈爾濱網(wǎng)站建設(shè)。