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
Linda Hamiltonasal
2024-12-17 18:32:15425semak imbas

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>

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

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!

Kenyataan:
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