Hướng dẫn string php to javascript - chuỗi php sang javascript

Cách dễ nhất để mã hóa chuỗi PHP cho đầu ra thành biến JavaScript là gì?

Nội dung chính

  • Làm thế nào truyền dữ liệu từ chức năng PHP sang JavaScript?
  • Tôi có thể truy cập biến PHP trong JavaScript không?
  • Php thao tác chuỗi là gì?

Tôi có một chuỗi PHP bao gồm các trích dẫn và newlines. Tôi cần nội dung của chuỗi này để được đưa vào một biến JavaScript.

Thông thường, tôi sẽ chỉ xây dựng JavaScript của mình trong một tệp PHP, à la:


Tuy nhiên, điều này không hoạt động khi


8 chứa báo giá hoặc dòng mới.

Hướng dẫn string php to javascript - chuỗi php sang javascript

Ry- ♦♦

Phim thương hiệu vàng 212K5454 gold badges442 silver badges456 bronze badges54 gold badges442 silver badges456 bronze badges

Đã hỏi ngày 3 tháng 10 năm 2008 lúc 18:27Oct 3, 2008 at 18:27Oct 3, 2008 at 18:27

David Laingdavid LaingDavid LaingDavid Laing

7.51510 Huy hiệu vàng33 Huy hiệu bạc44 Huy hiệu đồng10 gold badges33 silver badges44 bronze badges10 gold badges33 silver badges44 bronze badges

2

Mở rộng câu trả lời của người khác:


Sử dụng json_encode () yêu cầu:

  • Php 5.2.0 trở lên
  • 
    
    8 được mã hóa dưới dạng UTF-8 (hoặc US-ASCII, tất nhiên)

Vì UTF-8 hỗ trợ Unicode đầy đủ, nên phải an toàn để chuyển đổi một cách nhanh chóng.

Lưu ý rằng vì

function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
0 thoát khỏi các dấu gạch chéo về phía trước, thậm chí một chuỗi chứa
function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
1 sẽ được thoát ra một cách an toàn để in bằng một khối tập lệnh.

Flim

123K39 Huy hiệu vàng236 Huy hiệu bạc248 Huy hiệu Đồng39 gold badges236 silver badges248 bronze badges39 gold badges236 silver badges248 bronze badges

Đã trả lời ngày 3 tháng 10 năm 2008 lúc 21:49Oct 3, 2008 at 21:49Oct 3, 2008 at 21:49

15

mã hóa nó bằng json

Đã trả lời ngày 3 tháng 10 năm 2008 lúc 18:33Oct 3, 2008 at 18:33Oct 3, 2008 at 18:33

JavierjavierJavierJavier

59,5K8 Huy hiệu vàng77 Huy hiệu bạc126 Huy hiệu đồng8 gold badges77 silver badges126 bronze badges8 gold badges77 silver badges126 bronze badges

6

function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}

Đã trả lời ngày 3 tháng 10 năm 2008 lúc 18:38Oct 3, 2008 at 18:38Oct 3, 2008 at 18:38

Micahwittmanmicahwittmanmicahwittmanmicahwittman

Huy hiệu vàng 12k2 32 Huy hiệu bạc37 Huy hiệu đồng2 gold badges32 silver badges37 bronze badges2 gold badges32 silver badges37 bronze badges

2

Tôi đã có một vấn đề tương tự và hiểu rằng những điều sau đây là giải pháp tốt nhất:


Tuy nhiên, liên kết mà Micahwittman đăng cho thấy rằng có một số khác biệt mã hóa nhỏ. Hàm

function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
2 của PHP được cho là tuân thủ RFC 1738, trong khi dường như không có nỗ lực như vậy với
function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
3 của JavaScript.

Đã trả lời ngày 14 tháng 1 năm 2009 lúc 13:33Jan 14, 2009 at 13:33Jan 14, 2009 at 13:33

pr1001pr1001pr1001pr1001

21.4K16 Huy hiệu vàng76 Huy hiệu bạc123 Huy hiệu Đồng16 gold badges76 silver badges123 bronze badges16 gold badges76 silver badges123 bronze badges

3

Phiên bản hoang tưởng: thoát khỏi từng ký tự.


0

Chỉnh sửa: Lý do tại sao


14 có thể không phù hợp là đôi khi, bạn cần ngăn chặn
function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
5 để được tạo, ví dụ: The reason why 4 có thể không phù hợp là đôi khi, bạn cần ngăn chặn
function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
5 để được tạo, ví dụ:
The reason why

function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
4 may not be appropriate is that sometimes, you need to prevent
function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
5 to be generated, e.g.

5

Đã trả lời ngày 23 tháng 4 năm 2011 lúc 9:32Apr 23, 2011 at 9:32Apr 23, 2011 at 9:32

hươuffgiraffgiraffgiraff

4.4972 Huy hiệu vàng22 Huy hiệu bạc34 Huy hiệu đồng2 gold badges22 silver badges34 bronze badges2 gold badges22 silver badges34 bronze badges

4


6

hoặc


7

Salman a

253K80 Huy hiệu vàng423 Huy hiệu bạc513 Huy hiệu Đồng80 gold badges423 silver badges513 bronze badges80 gold badges423 silver badges513 bronze badges

Đã trả lời ngày 29 tháng 11 năm 2012 lúc 14:16Nov 29, 2012 at 14:16Nov 29, 2012 at 14:16

KLDKLDKldKld

6.7943 Huy hiệu vàng36 Huy hiệu bạc 50 Huy hiệu Đồng3 gold badges36 silver badges50 bronze badges3 gold badges36 silver badges50 bronze badges

2

Giải pháp của Micah dưới đây làm việc cho tôi vì trang web tôi phải tùy chỉnh không phải là UTF-8, vì vậy tôi không thể sử dụng JSON; Tôi sẽ bỏ phiếu lên nhưng đại diện của tôi không đủ cao.


8

Slaks

848K174 Huy hiệu vàng1877 Huy hiệu bạc1944 Huy hiệu đồng174 gold badges1877 silver badges1944 bronze badges174 gold badges1877 silver badges1944 bronze badges

Đã trả lời ngày 11 tháng 3 năm 2010 lúc 16:50Mar 11, 2010 at 16:50Mar 11, 2010 at 16:50

1

Đừng chạy nó mặc dù

function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
6; Nếu bạn đang ở trong bối cảnh của trang HTML, trình phân tích cú pháp HTML vẫn có thể thấy thẻ
function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
1, thậm chí cả chuỗi giữa và giả sử đó là kết thúc của JavaScript:

1

Ry- ♦♦

Phim thương hiệu vàng 212K5454 gold badges442 silver badges456 bronze badges54 gold badges442 silver badges456 bronze badges

Đã hỏi ngày 3 tháng 10 năm 2008 lúc 18:27Oct 3, 2008 at 18:27Oct 19, 2012 at 9:50

David Laingdavid LaingDavid LaingCraig Francis

7.51510 Huy hiệu vàng33 Huy hiệu bạc44 Huy hiệu đồng10 gold badges33 silver badges44 bronze badges2 gold badges20 silver badges33 bronze badges

2

Mở rộng câu trả lời của người khác:

Sử dụng json_encode () yêu cầu:Oct 3, 2008 at 18:39

2

Php 5.2.0 trở lên


8 được mã hóa dưới dạng UTF-8 (hoặc US-ASCII, tất nhiên)Oct 3, 2008 at 18:50

Vì UTF-8 hỗ trợ Unicode đầy đủ, nên phải an toàn để chuyển đổi một cách nhanh chóng.Jacob

Lưu ý rằng vì

function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
0 thoát khỏi các dấu gạch chéo về phía trước, thậm chí một chuỗi chứa
function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
1 sẽ được thoát ra một cách an toàn để in bằng một khối tập lệnh.5 gold badges22 silver badges11 bronze badges

2

  1. Flim

  2. 123K39 Huy hiệu vàng236 Huy hiệu bạc248 Huy hiệu Đồng39 gold badges236 silver badges248 bronze badges

    
    
    1

Đã trả lời ngày 3 tháng 10 năm 2008 lúc 21:49Jan 8, 2014 at 18:19Jan 8, 2014 at 18:19

mã hóa nó bằng json♦Ry-Ry-

Phim thương hiệu vàng 212K5454 gold badges442 silver badges456 bronze badges54 gold badges442 silver badges456 bronze badges

3

Đã trả lời ngày 3 tháng 10 năm 2008 lúc 18:33

Javierjavier


2

59,5K8 Huy hiệu vàng77 Huy hiệu bạc126 Huy hiệu đồng

Đã trả lời ngày 3 tháng 10 năm 2008 lúc 18:38

Micahwittmanmicahwittman


3

http://ca.php.net/htmlspecialchars

Huy hiệu vàng 12k2 32 Huy hiệu bạc37 Huy hiệu đồngOct 3, 2008 at 18:37Oct 3, 2008 at 18:37

Tôi đã có một vấn đề tương tự và hiểu rằng những điều sau đây là giải pháp tốt nhất:Chris MacDonaldChris MacDonald

Tuy nhiên, liên kết mà Micahwittman đăng cho thấy rằng có một số khác biệt mã hóa nhỏ. Hàm

function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
2 của PHP được cho là tuân thủ RFC 1738, trong khi dường như không có nỗ lực như vậy với
function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
3 của JavaScript.4 gold badges34 silver badges35 bronze badges4 gold badges34 silver badges35 bronze badges

1

Đã trả lời ngày 14 tháng 1 năm 2009 lúc 13:33


4

21.4K16 Huy hiệu vàng76 Huy hiệu bạc123 Huy hiệu Đồng


5

Phiên bản hoang tưởng: thoát khỏi từng ký tự.


6

Chỉnh sửa: Lý do tại sao

function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
4 có thể không phù hợp là đôi khi, bạn cần ngăn chặn
function escapeJavaScriptText($string)
{
    return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
5 để được tạo, ví dụ:

Đã trả lời ngày 27 tháng 8 năm 2010 lúc 0:28Aug 27, 2010 at 0:28Aug 27, 2010 at 0:28

iotusiotusioTusioTus

6676 Huy hiệu bạc9 Huy hiệu Đồng6 silver badges9 bronze badges6 silver badges9 bronze badges

3

Nếu bạn sử dụng một công cụ tạo khuôn mẫu để xây dựng HTML của mình thì bạn có thể điền vào nó với những gì bạn muốn!

Kiểm tra XTEMPLATE. Đó là một động cơ mẫu, nguồn mở, nhẹ, nhẹ.

HTML/JS của bạn sẽ trông như thế này:


7

Chandru

1.29613 Huy hiệu bạc20 Huy hiệu đồng13 silver badges20 bronze badges13 silver badges20 bronze badges

Đã trả lời ngày 3 tháng 10 năm 2008 lúc 18:35Oct 3, 2008 at 18:35Oct 3, 2008 at 18:35

AdamadamAdamAdam

25.5K23 Huy hiệu vàng75 Huy hiệu bạc87 Huy hiệu đồng23 gold badges75 silver badges87 bronze badges23 gold badges75 silver badges87 bronze badges

Làm thế nào truyền dữ liệu từ chức năng PHP sang JavaScript?

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

Tôi có thể truy cập biến PHP trong JavaScript không?

Hầu hết thời gian bạn sẽ cần truy cập các biến PHP bên trong JQuery hoặc JavaScript.Nếu bạn có giá trị chuỗi đơn giản thì bạn có thể lặp lại trực tiếp trong JavaScript nhưng nếu bạn có loại giá trị mảng và bạn muốn lấy nó trong JavaScript thì bạn phải sử dụng phương thức ENCODE JSON.If you have simple string value then you can echo this in javascript directly but if you have array type of value and you want to get it in javascript then you have to use json encode method.If you have simple string value then you can echo this in javascript directly but if you have array type of value and you want to get it in javascript then you have to use json encode method.

Php thao tác chuỗi là gì?