Tôi có tập lệnh sau, mã hóa một số giá trị mà nó nhận được một cách hợp lý, nhưng dường như nó không mã hóa dấu ngoặc kép.Mã hóa HTML trước POST
Làm cách nào để mã hóa toàn bộ giá trị chính xác trước khi đăng?
function htmlEncode(value){
return $('<div/>').text(value).html();
}
Kịch bản trên cho tôi này:
<p>Test&nbsp; <span style="color: #ffffff"><strong><span style="background-color: #ff0000">1+1+1=3</span></strong></span></p>
tôi cần nó để cho tôi này:
<p>Test&nbsp; <span style="color: #ffffff"><strong><span style="background-color: #ff0000">1+1+1=3</span></strong></span></p>
EDIT: Câu hỏi của followup: Encoded HTML in database back to page
Dường như bạn đang cố gắng yêu cầu khách hàng tạo một số HTML văn bản an toàn trước khi gửi cho máy chủ. Đừng làm thế. Làm cho HTML nội dung an toàn trên đường ra khỏi hệ thống, không phải trên đường vào (và đặc biệt là không phải trên máy khách, nơi nó có thể bị làm xáo trộn) – Quentin
Tại sao bạn cần thực hiện nó trên máy khách? – troutinator
Tại sao bạn muốn nó cung cấp cho bạn '"'? Trừ khi bạn đang dự định chèn dữ liệu vào một giá trị thuộc tính (bạn trộn với nhau bằng cách sử dụng chuỗi thay vì sử dụng một DOM hoặc API hợp lý khác) thì bạn chỉ sử dụng 6 byte khi 1 sẽ làm và làm cho nó khó đọc hơn. – Quentin