chuỗi htmlspecialchars [ chuỗi $string
[, int $flags
= ENT_COMPAT. ENT_HTML401 [, string $encoding
= 'UTF-8' [, bool $double_encode
= true ]]] ]
Gọi htmlspecialchars[] là đủ nếu mã hóa hỗ trợ tất cả các ký tự trong chuỗi đầu vào [chẳng hạn như UTF-8 nhưng cả ISO-8859-1 trên đầu vào chỉ ISO-8859-1]. htmlentities[] chỉ cần được gọi nếu mã hóa đầu ra không hỗ trợ tất cả các ký tự trong chuỗi đầu vào
Chức năng này hữu ích trong việc ngăn văn bản do người dùng cung cấp chứa đánh dấu HTML, chẳng hạn như trong bảng tin hoặc ứng dụng sổ khách
Các bản dịch được thực hiện là
- '&' [dấu và] trở thành '&'
- '"' [trích dẫn kép] trở thành '"' khi không đặt
ENT_NOQUOTES
- "'" [trích dẫn đơn] chỉ trở thành ''' khi
ENT_QUOTES
được đặt - '' [lớn hơn] trở thành '>'
Thông số
string
Chuỗi đang được chuyển đổi
flags
Mặt nạ bit của một hoặc nhiều cờ sau, chỉ định cách xử lý dấu ngoặc kép, chuỗi đơn vị mã không hợp lệ và loại tài liệu được sử dụng. Mặc định là ENT_COMPAT. ENT_HTML401
flags
hằng số Tên hằng Mô tả_______9Sẽ chuyển đổi dấu ngoặc kép và để nguyên dấu ngoặc đơn. ENT_QUOTES
Sẽ chuyển đổi cả dấu nháy kép và dấu nháy đơn. ENT_NOQUOTES
Sẽ không chuyển đổi cả dấu ngoặc kép và dấu ngoặc đơn. $flags
2Thầm lặng loại bỏ các chuỗi đơn vị mã không hợp lệ thay vì trả về một chuỗi trống. Sử dụng cờ này không được khuyến khích vì nó. $flags
3Thay thế chuỗi đơn vị mã không hợp lệ bằng Ký tự thay thế Unicode U+FFFD [UTF-8] hoặc FFFD; . $flags
4Thay thế các điểm mã không hợp lệ cho loại tài liệu nhất định bằng Ký tự thay thế Unicode U+FFFD [UTF-8] hoặc FFFD; . Điều này có thể hữu ích, ví dụ, để đảm bảo định dạng tốt của các tài liệu XML với nội dung bên ngoài được nhúng. $flags
5Xử lý mã dưới dạng HTML 4. 01. $flags
6Xử lý mã dưới dạng XML 1. $flags
7Xử lý mã dưới dạng XHTML. $flags
8Xử lý mã dưới dạng HTML 5. $flags
9Xác định mã hóa được sử dụng trong chuyển đổi. Nếu bỏ qua, giá trị mặc định cho đối số này là ISO-8859-1 trong các phiên bản PHP trước 5. 4. 0 và UTF-8 từ PHP 5. 4. 0 trở đi
Đối với mục đích của chức năng này, mã hóa ISO-8859-1, ISO-8859-15, UTF-8, cp866, cp1251, cp1252 và KOI8-R có hiệu quả tương đương, miễn là bản thân string
hợp lệ để mã hóa, như
Các bộ ký tự sau được hỗ trợ
Bộ ký tự được hỗ trợBộ ký tựBí danhMô tảISO-8859-1ISO8859-1Tây Âu, Latinh-1. ISO-8859-5ISO8859-5Bộ ký tự cyrillic ít được sử dụng [Latin/Cyrillic]. ISO-8859-15ISO8859-15Tây Âu, Latinh-9. Thêm ký hiệu Euro, chữ cái tiếng Pháp và tiếng Phần Lan bị thiếu trong tiếng Latin-1 [ISO-8859-1]. Unicode 8-bit nhiều byte tương thích UTF-8ASCII. cp866ibm866, bộ ký tự Cyrillic dành riêng cho 866DOS. cp1251Windows-1251, win-1251, 1251Bộ ký tự Cyrillic dành riêng cho Windows. cp1252Windows-1252, 1252Bộ ký tự dành riêng cho Windows cho Tây Âu. KOI8-Rkoi8-ru, koi8rTiếng Nga. BIG 5950 Tiếng Trung phồn thể, chủ yếu được sử dụng ở Đài Loan. GB2312936Tiếng Trung giản thể, bộ ký tự chuẩn quốc gia. BIG5-HKSCSBig5 với phần mở rộng Hồng Kông, tiếng Trung phồn thể. Shift_JISSJIS, SJIS-win, cp932, 932JapaneseEUC-JPEUCJP, eucJP-winJapaneseMacRomanCharset đã được Mac OS sử dụng. ''Một chuỗi trống kích hoạt phát hiện từ mã hóa tập lệnh [Zend multibyte] và ngôn ngữ hiện tại [xem nl_langinfo[] và setlocale[]], theo thứ tự này. Không được khuyến khíchGhi chú. Bất kỳ bộ ký tự nào khác không được nhận dạng. Thay vào đó, mã hóa mặc định sẽ được sử dụng và cảnh báo sẽ được phát ra
$encoding
1Khi tắt $encoding
1, PHP sẽ không mã hóa các thực thể html hiện có, mặc định là chuyển đổi mọi thứ
Giá trị trả về
Chuỗi đã chuyển đổi
Nếu đầu vào string
chứa chuỗi đơn vị mã không hợp lệ trong $flags
9 đã cho, một chuỗi trống sẽ được trả về, trừ khi cờ $flags
2 hoặc $flags
3 được đặt
Nhật ký thay đổi
Phiên bảnMô tả5. 4. 0Giá trị mặc định cho tham số$flags
9 đã được thay đổi thành UTF-8. 5. 4. 0Các hằng số $flags
3, $flags
4, $flags
5, $flags
6, $flags
7 và $flags
8 đã được thêm vào. 5. 3. 0Hằng số $flags
2 đã được thêm vào. 5. 2. 3 Tham số $encoding
1 đã được thêm vào. 4. 1. 0Tham số $flags
9 đã được thêm vàoví dụ
Ví dụ #1 htmlspecialchars[] ví dụ
$double_encode
7
ghi chú
Ghi chú
Lưu ý rằng chức năng này không dịch bất cứ điều gì ngoài những gì được liệt kê ở trên. Để dịch thực thể đầy đủ, hãy xem htmlentities[]
Cách chuyển đổi sang UTF
Hàm utf8_encode[] là một hàm sẵn có trong PHP được sử dụng để mã hóa chuỗi ISO-8859-1 thành UTF-8. Unicode đã được phát triển để mô tả tất cả các ký tự có thể có của mọi ngôn ngữ và bao gồm rất nhiều ký hiệu với một số duy nhất cho mỗi ký hiệu/ký tự.Cách chuyển đổi ASCII sang UTF
Nếu chúng tôi biết rằng mã hóa hiện tại là ASCII, hàm 'iconv' có thể được sử dụng để chuyển đổi ASCII thành UTF-8 . Chuỗi ban đầu có thể được chuyển thành tham số cho hàm iconv để mã hóa nó thành UTF-8.Cách kiểm tra UTF
Bạn có thể sử dụng kiểm tra tính hợp lệ UTF-8 có sẵn trong preg_match [Hướng dẫn sử dụng PHP] kể từ PHP 4. 3. 5. Nó sẽ trả về 0 [không có thông tin bổ sung] nếu một chuỗi không hợp lệ được đưa ra. $isUTF8 = preg_match['//u', $string];UTF là gì
Định nghĩa và cách sử dụng. Hàm utf8_encode[] mã hóa chuỗi ISO-8859-1 thành UTF-8 . Unicode là một tiêu chuẩn phổ quát và đã được phát triển để mô tả tất cả các ký tự có thể có của tất cả các ngôn ngữ cộng với rất nhiều ký hiệu với một số duy nhất cho mỗi ký tự/ký hiệu.