cú pháp
string htmlentities [ string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get["default_charset"] [, bool $double_encode = true ]]] ]
Định nghĩa và cách sử dụng
Nó được sử dụng để chuyển đổi tất cả các ký tự áp dụng thành các thực thể Html
Giá trị trả về
Nó trả về chuỗi được mã hóa
Thông số
Sr. Không có thông số và mô tảsợi dây
Nó chứa thông tin về chuỗi đầu vào
2cờ
Nó chứa thông tin về cờ
mã hóa
Nó là một đối số tùy chọn xác định mã hóa được sử dụng khi chuyển đổi các ký tự
Thí dụ
Hãy thử ví dụ sau
Điều này sẽ tạo ra kết quả sau − −
PHP Function htmlentitiesPHP Function htmlentities
php_function_reference. htm
Nói chung, mã hóa ký tự được thực hiện theo nhiều cách khác nhau trong PHP, cung cấp nhiều chức năng để thực hiện các chuyển đổi này, trên một chuỗi đầu vào nhất định, từ dạng này sang dạng khác. Ví dụ: PHP urlencode[]/decode[] được sử dụng để chuyển đổi các ký tự đặc biệt xuất hiện trong một URL thành định dạng %[Hex]
Một hàm nl2br[] khác mà chúng ta đã thấy khi thảo luận về ngắt dòng PHP, cũng thực hiện chuyển đổi giữa ngắt dòng thực tế sang ngắt dòng HTML
Tương tự, hàm PHP htmlentities[] được sử dụng để chuyển đổi ký tự đặc biệt xuất hiện trong chuỗi đầu vào thành dạng thực thể ký tự HTML. Loại chuyển đổi này được sử dụng để ngăn chuỗi đầu vào đã cho chứa các ký tự đặc biệt có thể khiến dữ liệu bị cắt bớt trong khi gửi chúng dưới dạng đầu vào của truy vấn cơ sở dữ liệu, URL, v.v.
Ví dụ: nếu chúng ta có các dấu ngoặc đơn với một chuỗi đầu vào bắt buộc phải được nhúng với truy vấn, sẽ gây ra lỗi PHP do câu lệnh truy vấn không hoàn thành, điều đó bị cắt bớt bởi các dấu nháy đơn
Trong tình huống như vậy, htmlentities[] được sử dụng để ngăn việc phân tích cú pháp các ký tự đặc biệt xảy ra với dữ liệu đầu vào của người dùng
Thực thể ký tự HTML
Trước khi bắt đầu với mô tả chi tiết về hàm PHP htmlentities[], chúng ta hãy xem về các thực thể ký tự HTML. Các thực thể này bắt đầu bằng ký tự dấu và [&], theo sau là tên hoặc số mà các thực thể này được chỉ định
Khi sử dụng số thực thể, thì thực thể HTML sẽ bắt đầu bằng [&], theo sau là [#] và số thực thể
Đối với mỗi ký tự, sẽ có một thực thể ký tự tương ứng, chứa một tên và số duy nhất. Chúng ta có thể chỉ định một thực thể HTML bằng cách sử dụng tên của nó như &name, ví dụ: ký tự < có thể được chỉ định là
Giống như htmlentities[], PHP cung cấp một hàm khác, có tên là htmlspecialchars[], hàm này cũng được sử dụng với mục đích tương tự là thay đổi ký tự đặc biệt thành dạng thực thể HTML
But the difference between htmlspecialchars[] and htmlentities[] is, htmlspecialchars[] can convert a limited set of special characters, that is, less than [], single quotes [’], double quotes [”] and ampersand [&], into their corresponding HTML entities, whereas, htmlentities[] functions will convert all special character into its entity form.
Ví dụ: chúng ta hãy kiểm tra hai phương thức này bằng chương trình PHP sau để chuyển đổi chuỗi đầu vào bao gồm ký hiệu bản quyền [©]
"; echo $output = htmlspecialchars[$input_string] . "
"; echo "htmlentities[] returns
"; echo $output = htmlentities[$input_string]; ?>
Trong khi thực hiện chương trình trên, chúng ta có thể thấy với chế độ xem nguồn của đầu ra trình duyệt, cách hàm htmlentities[] chuyển đổi ký hiệu © thành © và htmlspecialchars[] thay thế ký tự này thành ©