php把html程式碼轉換成實體的函數是什麼

2022-02-10 19:01:45

php把html程式碼轉換成實體的函數是htmlspecialchars(),該函數可以把預定義的字元轉換為HTML實體,語法「htmlspecialchars(string,flags,character,double_encode)」。

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

php把html程式碼轉換成實體的函數是htmlspecialchars()。

範例:

<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>

1.png

說明:

htmlspecialchars()函數是使用來把一些預定義的字元轉換為HTML實體,返回轉換後的新字串,原字串不變。如果 string 包含無效的編碼,則返回一個空的字串,除非設定了 ENT_IGNORE 或者 ENT_SUBSTITUTE 標誌;

被轉換的預定義的字元有:

  • &:轉換為&amp;

  • ":轉換為&quot;

  • ':轉換為成為 '

  • <:轉換為&lt;

  • >:轉換為&gt;

htmlspecialchars()函數有四個引數,第一個引數規定了需要轉換的字串;第二個引數規定了如何處理引號、無效的編碼以及使用哪種檔案型別,是可選引數;第三個引數也是可選引數,規定了要使用的字元集的字串;第四個引數也是可選引數,規定了是否編碼已存在的 HTML 實體的布林值(TRUE:將對每個實體進行轉換;FALSE:不會對已存在的HTML實體進行編碼);

htmlspecialchars()函數語法格式:

$str = htmlspecialchars(string,flags,character,double_encode);

引數說明

引數描述
string必需。規定要轉換的字串。
flags

可選。規定如何處理引號、無效的編碼以及使用哪種檔案型別。

可用的引號型別:

  • ENT_COMPAT - 預設。僅編碼雙引號。
  • ENT_QUOTES - 編碼雙引號和單引號。
  • ENT_NOQUOTES - 不編碼任何引號。

無效的編碼:

  • ENT_IGNORE - 忽略無效的編碼,而不是讓函數返回一個空的字串。應儘量避免,因為這可能對安全性有影響。
  • ENT_SUBSTITUTE - 把無效的編碼替代成一個指定的帶有 Unicode 替代字元 U+FFFD(UTF-8)或者 &#FFFD; 的字元,而不是返回一個空的字串。
  • ENT_DISALLOWED - 把指定檔案型別中的無效程式碼點替代成 Unicode 替代字元 U+FFFD(UTF-8)或者 &#FFFD;。

規定使用的檔案型別的附加 flags:

  • ENT_HTML401 - 預設。作為 HTML 4.01 處理程式碼。
  • ENT_HTML5 - 作為 HTML 5 處理程式碼。
  • ENT_XML1 - 作為 XML 1 處理程式碼。
  • ENT_XHTML - 作為 XHTML 處理程式碼。
character

可選。一個規定了要使用的字元集的字串。

允許的值:

  • UTF-8 - 預設。ASCII 相容多位元組的 8 位 Unicode
  • ISO-8859-1 - 西歐
  • ISO-8859-15 - 西歐(加入歐元符號 + ISO-8859-1 中丟失的法語和芬蘭語字母)
  • cp866 - DOS 專用 Cyrillic 字元集
  • cp1251 - Windows 專用 Cyrillic 字元集
  • cp1252 - Windows 專用西歐字元集
  • KOI8-R - 俄語
  • BIG5 - 繁體中文,主要在臺灣使用
  • GB2312 - 簡體中文,國家標準字元集
  • BIG5-HKSCS - 帶香港擴充套件的 Big5
  • Shift_JIS - 日語
  • EUC-JP - 日語
  • MacRoman - Mac 作業系統使用的字元集

註釋:在 PHP 5.4 之前的版本,無法被識別的字元集將被忽略並由 ISO-8859-1 替代。自 PHP 5.4 起,無法被識別的字元集將被忽略並由 UTF-8 替代。

double_encode

可選。布林值,規定了是否編碼已存在的 HTML 實體。

  • TRUE - 預設。將對每個實體進行轉換。
  • FALSE - 不會對已存在的 HTML 實體進行編碼。

返回值:

  • 返回被轉換的字串。如果 string 包含無效的編碼,則返回一個空的字串,除非設定了 ENT_IGNORE 或者 ENT_SUBSTITUTE 標誌。

推薦學習:《》

以上就是php把html程式碼轉換成實體的函數是什麼的詳細內容,更多請關注TW511.COM其它相關文章!