Home » PHP » Các hàm trong PHP » Hàm xử lý chuỗi trong PHP » htmlentities – Chuyển ký tự từ ứng dụng sang thực thể HTML
Ví dụ và cách sử dụng hàm htmlentities() để chuyển ký tự từ ứng dụng sang thực thể HTML (HTML entity) trong PHP.

htmlentities – Chuyển ký tự từ ứng dụng sang thực thể HTML

(PHP 4, PHP 5)
htmlentities – Chuyển ký tự từ ứng dụng sang thực thể HTML (HTML entity)

Miêu tả hàm htmlentities

Hàm này giống với hàm htmlspecialchars() trên tất cả mọi phương diện, ngoại trừ việc hàm htmlentities() sẽ dịch tất cả các ký tự có chứa thực thể HTML (hàm htmlspecialchars()  chỉ dịch những ký tự được liệt kê).

Nếu bạn muốn giải mã (dịch ngược) sang ký tự ứng dụng bạn có thể dùng html_entity_decode().

Tham số

string

Chuỗi đầu vào.

flags

Sử dụng một hoặc nhiều hằng số cho tham số $flags để quy định việc xử lý các dấu nháy, trình tự mã và kiểu tài liệu được sử dụng. Mặc địch là ENT_COMPAT | ENT_HTML401.

Hằng số có sẵn trong tham số flags

Tên hằng sốMiêu tả
ENT_COMPATChuyển đổi dấu nháy kép ("), không chuyển dấu nháy đơn (').
ENT_QUOTESChuyển đổi cả dấu nháy kép (") và dấu nháy đơn (').
ENT_NOQUOTESKhông chuyển cả dấu nháy kép (") lẫn dấu nháy đơn (').
ENT_IGNOREÂm thầm loại bỏ các đơn vị mã không hợp lệ thay vì trả về một chuỗi rỗng. Không khuyến khích sử dụng tham số này vì nó có thể gặp vấn đề về bảo mật.
ENT_SUBSTITUTEThay thế chuỗi đơn vị mã không hợp lệ với một ký tự Unicode thay thế U + FFFD (UTF-8) hoặc & # FFFD; thay vì trả về một chuỗi rỗng.
ENT_DISALLOWEDThay thế mã không hợp lệ với kiểu tài liệu được đưa ra bằng một ký tự Unicode thay thế U+FFFD (UTF-8) hoặc &#FFFD; thay vì bỏ qua chúng. Điều này có thể giúp ích cho bạn trong một số trường hợp, chẳng hạn, giữ cho tài liệu XML vẫn đúng định dạng với nội dung được nhúng từ một nguồn bên ngoài.
ENT_HTML401Dành cho HTML 4.01.
ENT_XML1Dành cho XML 1.
ENT_XHTMLDành cho XHTML.
ENT_HTML5Dành cho HTML 5.

encoding

Một tham số tùy chọn để định nghĩa bảng mã sẽ được sử dụng khi chuyển đổi chuỗi ký tự.

Nếu không điền, giá trị mặc định của bảng mã sẽ phụ thuộc vào phiên bản PHP đang được sử dụng. Trong PHP 5.6 trở về sau, tùy chọn cấu hình default_charset sẽ được sử dụng là giá trị mặc định. PHP 5.4 và 5.5 sẽ sử dụng mặc định là UTF-8. Những phiên bản PHP trước sẽ sử dụng ISO-8859-1.

Mặc dù tham số này là tùy chọn kỹ thuật nhưng bạn nên điền đúng mã mà bạn cần sử dụng nếu bạn dùng PHP 5.5 trở về trước, hoặc nếu tùy chọn cấu hình default_charset không được cấu hình đúng bảng mã bạn cần.

Những mã sau được hỗ trợ:

Những mã được hỗ trợ

Tên gọi khácMiêu tả
ISO-8859-1ISO8859-1Tây Âu, Latin-1
ISO-8859-5ISO8859-5Latin/Cyrillic
ISO-8859-15ISO8859-15Tây Âu, Latin-9. Thêm ký hiệu Euro, chữ Pháp và Phần Lan bị thiếu trong Latin-1 (ISO-8859-1).
UTF-8ASCII tương thích với multi-byte trong Unicode 8-bit.
cp866ibm866, 866Mã Cyrillic đặc trưng của DOS.
cp1251Windows-1251, win-1251, 1251Mã Cyrillic đặc trưng của Windows
cp1252Windows-1252, 1252Mã đặc trưng của Windows cho Tây Âu.
KOI8-Rkoi8-ru, koi8rNga
BIG5950Chữ Trung Quốc phồn thể, chủ yếu được sử dụng ở Đài Loan.
GB2312936Chữ Trung Quốc giản thể, mã chuẩn quốc gia.
BIG5-HKSCSBig5 với phần mở rộng dành cho Hong Kong, chữ Trung Quốc phồn thể.
Shift_JISSJIS, SJIS-win, cp932, 932Chữ Nhật Bản.
EUC-JPEUCJP, eucJP-winChữ Nhật Bản.
MacRomanMã được sử dụng bởi hệ điều hành Mac.
''Một chuỗi rỗng kích hoạt tìm từ bảng mã script (Zend multibyte), default_charset và địa phương hiện tại (xem thêm nl_langinfo() và setlocale()). Không khuyến khích sử dụng.
Lưu ý: Bất kỳ bảng mã nào nằm ngoài những mã kể trên đều không được chấp nhận. Trường hợp này mã mặc định sẽ được sử dụng và sẽ xuất hiện một cảnh bảo.

double_encode

Khi tham số $double_encode không được sử dụng, PHP sẽ không mã hóa lại lần 2 những thực thể HTML đã tồn tại. Mặc định, hàm này sẽ mã hóa toàn bộ.

Giá trị trả về

Trả về chuỗi đã được mã hóa sang thực thể HTML.

Nếu chuỗi đầu vào chứa đơn vị mã không hợp lệ hàm sẽ trả về một chuỗi rỗng, nếu tham số $flags không có hằng số ENT_IGNORE hoặc ENT_SUBSTITUTE.

Ví dụ

Ví dụ 1 về hàm htmlentities()
Ví dụ 2 về hàm htmlentities() với tham số $flags là ENT_IGNORE

About admin

Leave a Reply

Your email address will not be published. Required fields are marked *

*