Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Melewati Pembolehubah PHP yang Mengandungi Petikan dan Baris Baharu dengan Selamat kepada JavaScript?

Bagaimanakah Saya Boleh Melewati Pembolehubah PHP yang Mengandungi Petikan dan Baris Baharu dengan Selamat kepada JavaScript?

Linda Hamilton
Lepaskan: 2024-12-17 18:32:15
asal
367 orang telah melayarinya

How Can I Safely Pass PHP Variables Containing Quotes and Newlines to JavaScript?

Melalukan Pembolehubah PHP ke Pembolehubah JavaScript

Masalah:

Anda perlu memindahkan rentetan PHP mengandungi petikan dan baris baharu kepada pembolehubah JavaScript. Kaedah tradisional seperti直接输出PHP代码 tidak mengendalikan aksara khas ini dengan betul.

Jawapan:

Menggunakan json_encode():

<script>
  var myvar = <?= json_encode($myVarValue, JSON_UNESCAPED_UNICODE); ?>;
</script>
Salin selepas log masuk

Kaedah ini memerlukan:

  • PHP 5.2.0 atau lebih baru
  • $myVarValue yang dikodkan dalam UTF-8

json_encode() menukar rentetan PHP kepada perwakilan JSON sambil mengekalkan Unicode aksara.

Pertimbangan:

  • Jika menghantar rentetan yang dikodkan JSON kepada atribut HTML (cth., onclick), pastikan untuk menghantarnya melalui htmlspecialchars () untuk mengelakkan kemungkinan isu entiti HTML.

    htmlspecialchars(json_encode($string), ENT_QUOTES);
    Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melewati Pembolehubah PHP yang Mengandungi Petikan dan Baris Baharu dengan Selamat kepada JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan