Hướng dẫn how to print special characters in php - cách in các ký tự đặc biệt trong php
Sau nhiều lần đánh đầu, tôi hiểu rõ hơn về vấn đề mà tôi muốn đăng cho bất kỳ ai khác có thể có vấn đề này. Show
Mặc dù bộ ký tự UTF-8 sẽ hiển thị các ký tự đặc biệt trên máy khách, mặt khác, máy chủ, có thể không quá hấp dẫn và sẽ in các ký tự đặc biệt như Để đảm bảo máy chủ của bạn sẽ in chính xác, sử dụng Charset
Điều này sẽ in chính xác: Chỉnh sửa (4 năm sau):Bây giờ tôi có một chút hiểu biết tốt hơn một chút. Lý do hoạt động này là máy khách (trình duyệt) đang được nói, thông qua phản hồi Chuyển đổi trích dẫn kép sang các thực thể HTML: Thí dụChuyển đổi một số ký tự được xác định trước thành các thực thể HTML: $str = "This is some bold text."; Đầu ra HTML của mã ở trên sẽ là (xem nguồn): Jane & amp; 'Tarzan' Jane & amp; ' Tarzan ' Jane & amp; 'Người rừng' This is some bold text. Đầu ra trình duyệt của mã ở trên sẽ là: Jane & 'Tarzan' Jane & 'Tarzan' Jane & 'Tarzan' Hãy tự mình thử » Chuyển đổi trích dẫn kép sang các thực thể HTML:Tôi yêu & quot; PHP & quot ;. Tôi yêu "PHP".
& (ampersand) trở thành & amp ;. To convert special HTML entities back to characters, use the htmlspecialchars_decode() function. "(trích dẫn kép) trở thành & quot ;.'(Trích dẫn đơn) trở thành ' ;. & (ampersand) trở thành & amp ;.
Chi tiết kỹ thuật
Nhiều ví dụ hơnThí dụChuyển đổi một số ký tự được xác định trước thành các thực thể HTML: $str = "Jane & 'Tarzan'"; Đầu ra HTML của mã ở trên sẽ là (xem nguồn): Jane & amp; 'Tarzan' Jane & amp; ' Tarzan ' Jane & amp; 'Người rừng' Jane & 'Tarzan' Jane & 'Tarzan' Jane & 'Tarzan' Đầu ra trình duyệt của mã ở trên sẽ là: Jane & 'Tarzan' Jane & 'Tarzan' Jane & 'Tarzan' Hãy tự mình thử » Thí dụChuyển đổi một số ký tự được xác định trước thành các thực thể HTML: $str = 'I love "PHP".'; Đầu ra HTML của mã ở trên sẽ là (xem nguồn): Jane & amp; 'Tarzan' Jane & amp; ' Tarzan ' Jane & amp; 'Người rừng' I love "PHP". Đầu ra trình duyệt của mã ở trên sẽ là: Jane & 'Tarzan' Jane & 'Tarzan' Jane & 'Tarzan' Hãy tự mình thử » Chuyển đổi trích dẫn kép sang các thực thể HTML: Sự khác biệt giữa htmlentity () và htmlspecialchars () là gì?Sự khác biệt giữa hàm htmlentity () và htmlspecialchars (): Sự khác biệt duy nhất giữa các hàm này là hàm htmlspecialchars () chuyển đổi các ký tự đặc biệt thành các thực thể HTML trong khi hàm htmlent () chuyển đổi tất cả các ký tự áp dụng thành các thực thể HTML.htmlspecialchars() function convert the special characters to HTML entities whereas htmlentities() function convert all applicable characters to HTML entities.
Các ký tự đặc biệt PHP là gì?Hàm HTMLSpecialchars () chuyển đổi một số ký tự được xác định trước thành các thực thể HTML ... & (ampersand) trở thành & amp ;. "(trích dẫn kép) trở thành & quot ;. '(Trích dẫn đơn) trở thành ' ;. & (ampersand) trở thành & amp ;. > (lớn hơn) trở thành & gt ;. Những nhân vật đặc biệt thoát khỏi PHP là gì?Một chuỗi thoát cho biết chương trình dừng quy trình vận hành bình thường và đánh giá các ký tự sau đây khác nhau.Trong PHP, một chuỗi thoát bắt đầu với một dấu gạch chéo ngược \.Trình tự thoát áp dụng cho các chuỗi được trích dẫn kép.Một chuỗi được trích xuất một chỉ sử dụng các chuỗi thoát cho một trích dẫn hoặc dấu gạch chéo ngược.. In PHP, an escape sequence starts with a backslash \ . Escape sequences apply to double-quoted strings. A single-quoted string only uses the escape sequences for a single quote or a backslash.
Tôi có nên sử dụng htmlspecialchars không?Câu hỏi đầu tiên là: Khi nào nên sử dụng hàm htmlspecialchars?Bạn sử dụng htmlspecialchars mỗi khi bạn xuất nội dung trong HTML, do đó, nó được hiểu là nội dung chứ không phải HTML.Nếu bạn cho phép nội dung được coi là HTML, bạn vừa mở cửa cho các lỗi ở mức tối thiểu và tổng số vụ hack XSS ở mức tồi tệ nhất.EVERY time you output content within HTML, so it is interpreted as content and not HTML. If you allow content to be treated as HTML, you have just opened the door to bugs at a minimum, and total XSS hacks at worst. |