Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Hàm htmlspecialchars() trong PHP

Giới thiệu

Hàm htmlspecialchars() chuyển đổi các ký tự đặc biệt thành HTML entities để hiển thị an toàn trên trình duyệt (ngăn XSS).

Các ký tự được chuyển đổi

  • & (ampersand) → &
  • " (double quote) → "
  • ' (single quote) → ' (hoặc ')
  • < (less than) → &lt;
  • > (greater than) → &gt;

Cú pháp

htmlspecialchars(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, string $encoding = "UTF-8", bool $double_encode = true): string

Tham số

  • string - Chuỗi cần chuyển đổi.
  • flags (tùy chọn) - Kết hợp các hằng số:
    • Xử lý quote: ENT_COMPAT (chỉ double, mặc định cũ), ENT_QUOTES (cả hai), ENT_NOQUOTES (không quote).
    • Xử lý encoding lỗi: ENT_IGNORE (bỏ qua, không an toàn), ENT_SUBSTITUTE (thay bằng U+FFFD, mặc định), ENT_DISALLOWED (thay code point không hợp lệ doctype).
    • Doctype: ENT_HTML401 (mặc định), ENT_HTML5, ENT_XML1, ENT_XHTML.
  • encoding (tùy chọn) - Charset. Mặc định UTF-8 (PHP 5.6+). Các giá trị: ISO-8859-1, ISO-8859-15, cp866, cp1251, cp1252, KOI8-R, BIG5, GB2312, BIG5-HKSCS, Shift_JIS, EUC-JP, MacRoman.
  • double_encode (tùy chọn) - true (mặc định): encode cả entity đã có; false: bỏ qua entity đã có.

Giá trị trả về

Trả về chuỗi đã chuyển đổi entity.

Ví dụ

<?php
$res = htmlspecialchars("Demo", ENT_QUOTES);
echo $res;
?>

Kết quả:

<a href=&#039;mylink&#039; rel=&quot;nofollow&quot;><strong>Demo</strong></a>