Hướng dẫn php escape string for javascript - chuỗi thoát php cho javascript

24

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Hãy tưởng tượng một trình soạn thảo biểu mẫu, nó có thể chỉnh sửa các giá trị có sẵn. Nếu dữ liệu chứa ký tự " (báo giá kép), nó "phá hủy" mã HTML. Ý tôi là, hãy kiểm tra mã: vì vậy tôi tạo HTML:

onclick="var a = prompt('New value: ', ''); if (a != null)....

và nó dẫn đến

onclick="var a = prompt('New value: ', 'aaaa\"aaa'); if (a != null) { v....

Và điều này làm cho JS hoạt động không thể, để nó hủy hoại mã. Với Qoute ' duy nhất, nó hoạt động ok.

Click me';
0 làm như vậy. Làm thế nào để thoát khỏi bất kỳ chuỗi nào để nó không làm hỏng JavaScript?


JSON_ENCODE trông ổn, nhưng tôi phải làm điều gì đó sai, nó vẫn tệ: Đây là một ảnh chụp màn hình cách Firefox nhìn thấy nó - nó chèn một trích dẫn kép "xấu"! Giá trị chỉ là một số đơn giản:

http://img402.imageshack.us/img402/5577/aaaahf.gif

Và tôi đã sử dụng:

('Ird be az új nevet:', ); if (a) { 

Hướng dẫn php escape string for javascript - chuỗi thoát php cho javascript

Dori

8951 Huy hiệu vàng12 Huy hiệu bạc20 Huy hiệu đồng1 gold badge12 silver badges20 bronze badges

Hỏi ngày 16 tháng 8 năm 2011 lúc 22:07Aug 16, 2011 at 22:07

2

Giá trị của thuộc tính

Click me';
1 phải được thoát như bất kỳ thuộc tính HTML nào khác, sử dụng
Click me';
2. Các chuỗi JavaScript thực tế bên trong mã phải được mã hóa bằng
Click me';
3. Ví dụ:

Click me';

Điều đó đang được nói ... onclick (hoặc bất kỳ sự kiện nào khác) là rất năm 2005. Hãy tự mình và tách mã JavaScript của bạn khỏi mã HTML của bạn, tốt nhất là vào tệp bên ngoài và đính kèm các sự kiện bằng các chức năng DOM (hoặc jQuery, kết thúc nó lên một cách độc đáo)

rymo

3.1692 Huy hiệu vàng33 Huy hiệu bạc39 Huy hiệu Đồng2 gold badges33 silver badges39 bronze badges

Đã trả lời ngày 16 tháng 8 năm 2011 lúc 22:39Aug 16, 2011 at 22:39

Shesekshesekshesek

4,4841 Huy hiệu vàng27 Huy hiệu bạc27 Huy hiệu đồng1 gold badge27 silver badges27 bronze badges

1

onclick="var a = prompt('New value: ', 'aaaa\"aaa'); if (a != null) { v....

Vấn đề của bạn được nhấn mạnh trong in đậm. Bạn không thể trích dẫn một tuyên bố biến mà bạn không cần phải thoát khỏi báo giá kép sau khi điều này bị xóa vì nó nằm trong các trích dẫn đơn. Nên trông như thế này -

onclick="newFunc();"

Đã trả lời ngày 16 tháng 8 năm 2011 lúc 22:16Aug 16, 2011 at 22:16

2

...onclick="new_func();"...

Đã trả lời ngày 16 tháng 8 năm 2011 lúc 22:27Aug 16, 2011 at 22:27

Tôi thực sự chỉ ghi lại những gì @marshall House nói ở đây, nhưng:

Trong HTML, một trích dẫn kép (") sẽ luôn kết thúc một thuộc tính, bất kể dấu gạch chéo ngược - vì vậy nó thấy:

Click me';
4. nó không có vấn đề.

E.g.:


 

Đã trả lời ngày 16 tháng 8 năm 2011 lúc 22:35Aug 16, 2011 at 22:35

Robin Winslowrobin WinslowRobin Winslow

10,4K8 Huy hiệu vàng58 Huy hiệu bạc89 Huy hiệu đồng8 gold badges58 silver badges89 bronze badges

1

Làm cách nào để thoát một chuỗi trong JavaScript?

Sử dụng ký tự Escape (\), chúng ta có thể sử dụng ký tự thoát hiểm (\) để ngăn JavaScript diễn giải một trích dẫn là phần cuối của chuỗi.Cú pháp của \ 'sẽ luôn là một trích dẫn duy nhất và cú pháp của \ "sẽ luôn là một trích dẫn kép, mà không sợ phá vỡ chuỗi. We can use the backslash ( \ ) escape character to prevent JavaScript from interpreting a quote as the end of the string. The syntax of \' will always be a single quote, and the syntax of \" will always be a double quote, without any fear of breaking the string.

Làm cách nào để thoát một chuỗi trong PHP?

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.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ó thể sử dụng biến PHP trong JavaScript không?

Chúng tôi có thể chuyển dữ liệu từ PHP sang JavaScript theo hai cách tùy thuộc vào tình huống.Đầu tiên, chúng tôi có thể truyền dữ liệu bằng toán tử gán đơn giản nếu chúng tôi muốn thực hiện thao tác trên cùng một trang.Nếu không, chúng ta có thể chuyển dữ liệu từ PHP sang JavaScript bằng cookie.Cookie làm việc ở phía khách hàng.. First, we can pass the data using the simple assignment operator if we want to perform the operation on the same page. Else we can pass data from PHP to JavaScript using Cookies. Cookie work in client-side.

Escape () trong js là gì?

Hàm Escape () trong JavaScript được sử dụng để mã hóa một chuỗi.Nó không được dùng trong JavaScript 1.5.used for encoding a string. It is deprecated in JavaScript 1.5.