Computer >> Máy Tính >  >> Lập trình >> PHP

hàm htmlspecialchars () trong PHP

Hàm htmlspecialchars () được sử dụng để chuyển đổi các ký tự đặc biệt thành các thực thể HTML.

Các ký tự được xác định trước là -

  • &(dấu và) trở thành &
  • "(dấu ngoặc kép) trở thành "
  • '(một câu trích dẫn) trở thành &# 039;
  • <(nhỏ hơn) trở thành <
  • > (lớn hơn) trở thành >

Cú pháp

htmlspecialchars(str,flags,character-set,double_encode)

Tham số

  • str - Chuỗi chuyển đổi.

  • cờ −Cách xử lý dấu ngoặc kép, mã hóa không hợp lệ và loại tài liệu được sử dụng.

  • Sau đây là các kiểu trích dẫn có sẵn -

    • ENT_COMPAT - Mặc định. Chỉ mã hóa dấu ngoặc kép

    • ENT_QUOTES - Mã hóa dấu ngoặc kép và dấu nháy đơn

    • ENT_NOQUOTES - Không mã hóa bất kỳ dấu ngoặc kép nào

  • Mã hóa không hợp lệ -

    • ENT_IGNORE - Bỏ qua mã hóa không hợp lệ thay vì để hàm trả về một chuỗi trống. Nên tránh, vì nó có thể có tác động bảo mật.

    • ENT_SUBSTITUTE - Thay thế mã hóa không hợp lệ cho một bộ ký tự được chỉ định bằng Ký tự thay thế Unicode U + FFFD (UTF-8) hoặc &# FFFD; thay vì trả về một chuỗi trống.

    • ENT_DISALLOWED - Thay thế các điểm mã không hợp lệ trong loại tài liệu được chỉ định bằng Ký tự thay thế Unicode U + FFFD (UTF-8) hoặc &# FFFD;

  • Sau đây là các cờ bổ sung để chỉ định loại tài liệu đã sử dụng -

    • ENT_HTML401 - Mặc định. Xử lý mã dưới dạng HTML 4.01

    • ENT_HTML5 - Xử lý mã dưới dạng HTML 5

    • ENT_XML1 - Xử lý mã dưới dạng XML 1

    • ENT_XHTML - Xử lý mã dưới dạng XHTML

  • bộ ký tự - Bộ ký tự để sử dụng

  • Sau đây là các giá trị được phép là -

    • UTF-8 - Mặc định. Mã Unicode 8-bit đa byte tương thích ASCII

    • ISO-8859-1 - Tây Âu

    • ISO-8859-15 - Tây Âu (thêm ký hiệu Euro + các chữ cái tiếng Pháp và Phần Lan bị thiếu trong ISO-8859-1)

    • cp866 - Bộ ký tự Cyrillic dành riêng cho DOS

    • cp1251 - Bộ ký tự Cyrillic dành riêng cho Windows

    • cp1252 - Bộ ký tự dành riêng cho Windows dành cho Tây Âu

    • KOI8-R - Tiếng Nga

    • BIG5 - Tiếng Trung phồn thể, được sử dụng chủ yếu ở Đài Loan

    • GB2312 - Tiếng Trung giản thể, bộ ký tự tiêu chuẩn quốc gia

    • BIG5-HKSCS - Big5 với các tiện ích mở rộng Hồng Kông

    • Shift_JIS - Tiếng Nhật

    • EUC-JP - Tiếng Nhật

    • MacRoman - Bộ ký tự đã được Mac OS sử dụng

  • double_encode - Giá trị boolean chỉ định có mã hóa các thực thể html hiện có hay không.

    • ĐÚNG - Mặc định. Sẽ chuyển đổi mọi thứ

    • SAI - Sẽ không mã hóa các thực thể html hiện có

Quay lại

Hàm htmlspecialchars () trả về chuỗi đã chuyển đổi.

Ví dụ

Sau đây là một ví dụ -

<?php
$res = htmlspecialchars("<a href='mylink' rel=”nofollow”><strong>Demo</strong></a>", ENT_QUOTES);
echo $res //
?>

Đầu ra

& lt;a href=& #039;mylink& #039; rel=”nofollow”& gt;& lt;strong& gt;Demo& lt;/strong& gt;& lt;/a >