程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中htmlspecialchars,htmlentities用法

php中htmlspecialchars,htmlentities用法

編輯:關於PHP編程

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

htmlentities用法



$str = "John & 'Adams'";
echo htmlentities($str, ENT_COMPAT);
echo "
";
echo htmlentities($str, ENT_QUOTES);
echo "
";
echo htmlentities($str, ENT_NOQUOTES);
?>

John & 'Adams'
John & 'Adams'
John & 'Adams'

浏覽器輸出:  代碼如下 復制代碼

 

htmlspecialchars用法

& (和) 轉成 &
" (雙引號) 轉成 "
< (小於) 轉成 <
> (大於) 轉成 >



$str = "John & 'Adams'";
echo htmlspecialchars($str, ENT_COMPAT);
echo "
";
echo htmlspecialchars($str, ENT_QUOTES);
echo "
";
echo htmlspecialchars($str, ENT_NOQUOTES);
?>

 代碼如下 復制代碼

 

他們的區別

這兩個函數的功能都是轉換字符為HTML字符編碼,特別是url和代碼字符串。防止字符標記被浏覽器執行。使用中文時沒什麼區別,但htmlentities會格式化中文字符使得中文輸入是亂碼

htmlentities轉換所有的html標記,htmlspecialchars只格式化& ' " < 和 > 這幾個特殊符號

 代碼如下 復制代碼

$str = '測試頁面';

echo 'htmlentities指定GB2312編碼:'.htmlentities($str,ENT_COMPAT,"GB2312").'';

echo 'htmlentities未指定編碼:'.htmlentities($str).'';

$str = '測試頁面';

echo htmlspecialchars($str).'';

效果:

 代碼如下 復制代碼

htmlentities指定GB2312編碼:測試頁面

htmlentities未指定編碼:²âÊÔÒ³Ãæ

測試頁面


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved