Tôi đang viết một số mã JavaScript sử dụng chuỗi được hiển thị bằng PHP. Làm thế nào tôi có thể thoát khỏi các trích dẫn đơn [và chỉ trích dẫn đơn] trong chuỗi PHP của tôi?
$['#myElement'].html['say hello to '];
Đã hỏi ngày 7 tháng 6 năm 2011 lúc 17:26Jun 7, 2011 at 17:26
4
Rất đơn giản:
var phpData = ;
alert[phpData.myString];
6 Tuy nhiên, tôi đề nghị sử dụng chức năng JSON và
var phpData = ;
alert[phpData.myString];
7 vì nó sẽ đáng tin cậy hơn [ví dụ như báo giá các dòng mới]:
var phpData = ;
alert[phpData.myString];
Justin
25.2K16 Huy hiệu vàng108 Huy hiệu bạc126 Huy hiệu đồng16 gold badges108 silver badges126 bronze badges
Đã trả lời ngày 7 tháng 6 năm 2011 lúc 17:30Jun 7, 2011 at 17:30
CrozincrozinCrozin
43.3K13 Huy hiệu vàng87 Huy hiệu bạc135 Huy hiệu đồng13 gold badges87 silver badges135 bronze badges
6
Nếu bạn muốn thoát khỏi các ký tự với
var phpData = ;
alert[phpData.myString];
8, bạn có
var phpData = ;
alert[phpData.myString];
9. Ví dụ: nếu bạn muốn thoát chỉ trích dẫn đơn lẻ như câu hỏi, bạn có thể làm:echo addcslashes[$value, "'"];
Và nếu bạn muốn thoát
echo addcslashes[$value, "'"];
0, echo addcslashes[$value, "'"];
1,
var phpData = ;
alert[phpData.myString];
8 và echo addcslashes[$value, "'"];
3 [byte null], bạn có thể sử dụng echo addcslashes[$value, "'"];
4:echo addslashes[$value];
Đã trả lời ngày 3 tháng 2 năm 2017 lúc 10:31Feb 3, 2017 at 10:31
PhoneixsphoneixsPhoneixS
10.1k6 Huy hiệu vàng54 Huy hiệu bạc70 Huy hiệu đồng6 gold badges54 silver badges70 bronze badges
1
str_replace["'", "\'", $mystringWithSingleQuotes];
Đã trả lời ngày 7 tháng 6 năm 2011 lúc 17:29Jun 7, 2011 at 17:29
JulianjulianJulian
8.4988 Huy hiệu vàng53 Huy hiệu bạc89 Huy hiệu Đồng8 gold badges53 silver badges89 bronze badges
Trong một số trường hợp, tôi chỉ chuyển đổi nó thành các thực thể:
// i.e., $x= ABC\DEFGH'IJKL
$x = str_ireplace["'", "'", $x];
$x = str_ireplace["\\", "\", $x];
$x = str_ireplace['"', """, $x];
Trên trang HTML, đầu ra trực quan giống nhau:
ABC\DEFGH'IJKL
Tuy nhiên, nó được vệ sinh trong nguồn.
Đã trả lời ngày 2 tháng 4 năm 2015 lúc 20:36Apr 2, 2015 at 20:36
T.ToduaT.ToduaT.Todua
50.2K19 Huy hiệu vàng217 Huy hiệu bạc213 Huy hiệu đồng19 gold badges217 silver badges213 bronze badges
Sử dụng hàm gốc
echo addcslashes[$value, "'"];
5. Nó sẽ thoát khỏi tất cả các nhân vật đặc biệt. Nếu bạn muốn thoát khỏi báo giá cụ thể, hãy sử dụng với echo addcslashes[$value, "'"];
6 hoặc echo addcslashes[$value, "'"];
7. Đây là ví dụ:$str = "Jane & 'Tarzan'";
echo htmlspecialchars[$str, ENT_COMPAT]; // Will only convert double quotes
echo "
";
echo htmlspecialchars[$str, ENT_QUOTES]; // Converts double and single quotes
echo "
";
echo htmlspecialchars[$str, ENT_NOQUOTES]; // Does not convert any quotes
Đầu ra sẽ như thế này:
________số 8Đọc thêm trong hàm PHP htmlspecialchars []
Đã trả lời ngày 6 tháng 4 năm 2018 lúc 6:43Apr 6, 2018 at 6:43
Nishad Upnishad lênNishad Up
3.1971 Huy hiệu vàng26 Huy hiệu bạc 30 Huy hiệu Đồng1 gold badge26 silver badges30 bronze badges
Để chỉ thay thế các trích dẫn đơn, hãy sử dụng câu lệnh đơn giản này:
$string = str_replace["'", "\\'", $string];
Đã trả lời ngày 7 tháng 6 năm 2011 lúc 17:29Jun 7, 2011 at 17:29
0
Julianjulian
var phpData = ;
alert[phpData.myString];
0
8.4988 Huy hiệu vàng53 Huy hiệu bạc89 Huy hiệu ĐồngJan 21, 2018 at 23:03
Trong một số trường hợp, tôi chỉ chuyển đổi nó thành các thực thể:Junior
Trên trang HTML, đầu ra trực quan giống nhau:26 gold badges93 silver badges200 bronze badges
Tuy nhiên, nó được vệ sinh trong nguồn.
Đã trả lời ngày 2 tháng 4 năm 2015 lúc 20:36
50.2K19 Huy hiệu vàng217 Huy hiệu bạc213 Huy hiệu đồng
Solution:
var phpData = ;
alert[phpData.myString];
1Solve:
- Sử dụng hàm gốc
5. Nó sẽ thoát khỏi tất cả các nhân vật đặc biệt. Nếu bạn muốn thoát khỏi báo giá cụ thể, hãy sử dụng vớiecho addcslashes[$value, "'"];
6 hoặcecho addcslashes[$value, "'"];
7. Đây là ví dụ:echo addcslashes[$value, "'"];
Đầu ra sẽ như thế này:
________số 8May 9, 2014 at 10:19
Đọc thêm trong hàm PHP htmlspecialchars []
Đã trả lời ngày 6 tháng 4 năm 2018 lúc 6:43
Nishad Upnishad lên
var phpData = ;
alert[phpData.myString];
23.1971 Huy hiệu vàng26 Huy hiệu bạc 30 Huy hiệu Đồng
var phpData = ;
alert[phpData.myString];
3Để chỉ thay thế các trích dẫn đơn, hãy sử dụng câu lệnh đơn giản này:
Bạn có thể sử dụng chức năng AddCslashes để hoàn thành việc này như vậy:
Đã trả lời ngày 21 tháng 1 năm 2018 lúc 23:03Nov 19, 2015 at 15:15
JuniorjuniorBasil Musa
11.1k26 Huy hiệu vàng93 Huy hiệu bạc200 Huy hiệu đồng6 gold badges59 silver badges61 bronze badges
0
Sau một thời gian dài chiến đấu với vấn đề này, tôi nghĩ rằng tôi đã tìm thấy một giải pháp tốt hơn.
var phpData = ;
alert[phpData.myString];
4Sự kết hợp của hai chức năng giúp có thể thoát một chuỗi để sử dụng như HTML.
Một, để thoát khỏi báo giá kép nếu bạn sử dụng chuỗi bên trong cuộc gọi hàm JavaScript; và một thứ hai để thoát khỏi trích dẫn duy nhất, tránh những trích dẫn đơn giản đi xung quanh cuộc tranh luận.May 15, 2013 at 2:20
một dòng PHP được tạo để gọi chức năng JavaScript như
var phpData = ;
alert[phpData.myString];
5echo ' title = "javascript_function [\' '. mysql_real_escape_string [htmlspecialchars [$ string]]"
Đã trả lời ngày 9 tháng 5 năm 2014 lúc 10:19
Tôi đã viết chức năng sau đây. Nó thay thế những điều sau:
Trích dẫn đơn ['] với một dấu gạch chéo và một trích dẫn duy nhất [\'].
Backslash [\] với hai dấu gạch chéo ngược [\\]Feb 12, 2013 at 14:48