溫馨提示×

PHP htmlspecialchars函數詳解

PHP
小樊
109
2024-12-11 03:45:12
欄目: 編程語言

htmlspecialchars() 是 PHP 中的一個非常有用的函數,用于將特殊字符轉換為 HTML 實體

函數原型:

string htmlspecialchars ( string $string [, int $flags = ENT_QUOTES [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )

參數說明:

  • $string:必需。需要轉換的字符串。
  • $flags:可選。標志位,用于控制轉換方式。有以下幾個常用值:
    • ENT_QUOTES:將雙引號(“)轉換為 HTML 實體(”)。
    • ENT_NOQUOTES:不轉換雙引號(")。
    • ENT_HTML401:使用 HTML 4.01 標準進行轉換(不推薦使用,因為 PHP 已經支持更嚴格的 HTML5 標準)。
    • ENT_XML1:使用 XML 1.0 標準進行轉換。
    • ENT_XHTML:使用 XHTML 標準進行轉換。
    • ENT_QUOTES | ENT_HTML401:將雙引號(“)轉換為 HTML 實體(”),并使用 HTML 4.01 標準進行轉換。
  • $encoding:可選。指定字符編碼。默認值為 ‘UTF-8’。支持的字符編碼有 ‘ISO-8859-1’、‘ISO-8859-2’、‘ISO-8859-3’、‘ISO-8859-4’、‘ISO-8859-5’、‘ISO-8859-6’、‘ISO-8859-7’、‘ISO-8859-8’、‘ISO-8859-9’、‘Windows-1252’、‘UTF-8’、‘UTF-16’ 和 ‘UTF-32’。
  • $double_encode:可選。布爾值,指定是否對已經轉換為 HTML 實體的字符進行雙重編碼。默認值為 true。如果設置為 false,已經轉換為 HTML 實體的字符將不會被再次編碼。

返回值: 返回一個字符串,其中所有特殊字符都被轉換為相應的 HTML 實體。

示例:

<?php
$string = '<script>alert("XSS");</script>';
$encoded_string = htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
echo $encoded_string; // 輸出:<script>alert("XSS");</script>
?>

在這個例子中,htmlspecialchars() 函數將 <script> 標簽和其中的雙引號轉換為 HTML 實體,從而防止 XSS 攻擊。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女