Hướng dẫn how to handle single quote in php - cách xử lý báo giá đơn trong php

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?


Hướng dẫn how to handle single quote in php - cách xử lý báo giá đơn trong php

Đã 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:

 '...'); ?>


6 Tuy nhiên, tôi đề nghị sử dụng chức năng JSON và
 '...'); ?>


7 vì nó sẽ đáng tin cậy hơn (ví dụ như báo giá các dòng mới):

 '...'); ?>


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

 '...'); ?>


8, bạn có
 '...'); ?>


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,
 '...'); ?>


8 và
echo addcslashes($value, "'");
3 (byte null), bạn có thể sử dụng
echo addcslashes($value, "'");
4:

echo addslashes($value);

Hướng dẫn how to handle single quote in php - cách xử lý báo giá đơn trong php

Đã 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

Hướng dẫn how to handle single quote in php - cách xử lý báo giá đơn trong php

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);

Hướng dẫn how to handle single quote in php - cách xử lý báo giá đơn trong php

Đã trả lời ngày 7 tháng 6 năm 2011 lúc 17:29Jun 7, 2011 at 17:29

0

Julianjulian

 '...'); ?>


0

Hướng dẫn how to handle single quote in php - cách xử lý báo giá đơn trong php

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:

 '...'); ?>


1

Solve:

  • 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ụ:

Đầu ra sẽ như thế này:

________số 8May 9, 2014 at 10:19

Hướng dẫn how to handle single quote in php - cách xử lý báo giá đơn trong php

Đọ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

 '...'); ?>


2

3.1971 Huy hiệu vàng26 Huy hiệu bạc 30 Huy hiệu Đồng

 '...'); ?>


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:

Hướng dẫn how to handle single quote in php - cách xử lý báo giá đơn trong php

Đã trả lời ngày 21 tháng 1 năm 2018 lúc 23:03Nov 19, 2015 at 15:15

Hướng dẫn how to handle single quote in php - cách xử lý báo giá đơn trong php

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.

 '...'); ?>


4

Sự 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.

Hướng dẫn how to handle single quote in php - cách xử lý báo giá đơn trong php

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ư

 '...'); ?>


5

echo 'onclick = "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 [\'].

Hướng dẫn how to handle single quote in php - cách xử lý báo giá đơn trong php

Backslash [\] với hai dấu gạch chéo ngược [\\]Feb 12, 2013 at 14:48

Tôi có thể sử dụng các trích dẫn đơn trong PHP không?

Có. Nó nhanh hơn một chút để sử dụng các trích dẫn đơn.PHP sẽ không sử dụng xử lý bổ sung để giải thích những gì bên trong trích dẫn duy nhất.Khi bạn sử dụng trích dẫn kép, PHP phải phân tích cú pháp để kiểm tra xem có bất kỳ biến nào trong chuỗi không. It is slightly faster to use single quotes. PHP won't use additional processing to interpret what is inside the single quote. when you use double quotes PHP has to parse to check if there are any variables within the string.

Làm thế nào để bạn xử lý một trích dẫn duy nhất trong một chuỗi?

Đôi khi trong khi hoàn thành bất kỳ nhiệm vụ nào, một tình huống như vậy xảy ra khi chúng tôi cảm thấy yêu cầu phải in một trích dẫn duy nhất bên trong chuỗi.Một trích dẫn duy nhất không được sử dụng khi đã có một chuỗi được trích dẫn.Vì vậy, bạn có thể khắc phục vấn đề này bằng cách sử dụng dấu gạch chéo ngược sau khi báo giá.using a backslash following the single quote.

Làm thế nào Escape Trích dẫn đơn PHP?

Trường hợp đặc biệt là nếu bạn hiển thị một trình điều khiển đơn theo nghĩa đen, hãy thoát nó bằng dấu gạch chéo ngược (\) và nếu bạn muốn hiển thị dấu gạch chéo ngược, bạn có thể thoát nó bằng một dấu gạch chéo ngược khác (\\).escape it with a backslash(\) and if you want to display a backslash, you can escape it with another backslash(\\).

Làm cách nào để loại bỏ một báo giá trong PHP?

Nói một cách đơn giản: "Trim () sẽ xóa các trích dẫn liên tiếp từ bắt đầu hoặc từ cuối.trim() will remove consecutive quotes from start or from end.