PHP中的多行字符串传递给JavaScript的两种方法_PHP教程
PHP和JavaScript都是初学。最近有这么个需求:
比方说有一个PHP的多行字符串:
$a = <<<EOF thy38 csdn blog EOF;
传递给JavaScript后要等价于:
var c='thy38\n\ csdn\n\ blog';
因为对这两门语言的理解低到不知如何Google,只好自己摸索出方法两则:
1. 将PHP先转义,然后分割,然后转JSON,然后JavaScript parse,最后用\n拼接。
var b=JSON.parse(<?php echo '\''.json_encode(explode("\r\n", $a)).'\''; ?>).join('\n'); alert(b==c);
2. 在页面上安排一个隐藏的input,然后先由php把值给它,然后JavaScript从它里面读,就实现了多行值的传递
<input type="hidden" id='testphp' value="<?php echo $a?>" /> var a=document.getElementById("testphp").value; var b=JSON.parse(<?php echo '\''.json_encode(explode("\r\n", $a)).'\''; ?>).join('\n'); alert(a==b); alert(b==c);
PS: 以上方法是在跟一个PHP加JavaScript程序员同学的讨论中逐步得出的。
写完了文章回头再想想,其实这两个很绕的方法还是源于对PHP和JavaScript的多行字符串理解不透。
理解透了也就简单了,远不用这么复杂,直接字符串替换就行:
var d=<?php echo '\''.str_replace("\r\n", "\\n\\\n", $a).'\''; ?>; alert(d==c);

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Pengoptimuman Penghantaran ialah ciri yang membantu Kemas Kini Windows dan Gedung Windows berjalan dan menyampaikan kemas kini dengan lebih pantas. Fail cache dalam Pengoptimuman Penghantaran sepatutnya dipadamkan selepas beberapa ketika, tetapi bagi sesetengah pembaca kami, fail tersebut terus menumpuk dan mengambil ruang yang tidak diperlukan. Adakah selamat untuk memadamkan fail pengoptimuman penghantaran? Ya, adalah selamat untuk memadam fail pengoptimuman penghantaran, dan dalam artikel ini, anda akan mengetahui betapa mudahnya untuk melakukannya dalam Windows 11. Walaupun tidak disyorkan untuk memadamkan fail pengoptimuman penghantaran secara manual, anda boleh melakukannya secara automatik. Bagaimana untuk memadam fail pengoptimuman penghantaran pada Windows 11? Klik bar carian, taip Pembersihan Cakera dan buka alat daripada hasil carian. Jika anda mempunyai berbilang pemacu, pilih pemacu dengan sistem anda (biasanya C:

Dalam Python, penggabungan rentetan ialah operasi biasa yang membolehkan anda menggabungkan dua atau lebih rentetan ke dalam satu rentetan. Walaupun menggabungkan rentetan secara menegak (iaitu, satu di bawah yang lain) adalah mudah, menggabungkan rentetan secara mendatar (iaitu, bersebelahan) memerlukan beberapa pemprosesan tambahan, terutamanya apabila berurusan dengan rentetan berbilang baris. Dalam artikel ini, kami akan meneroka cara yang berbeza untuk melakukan penggabungan sisi rentetan berbilang baris dalam Python. Kaedah1:Menggunakan+PengendaliPengendali+boleh digunakan untuk menggabungkan lebih banyak tali dalam satu rentetan.Walau bagaimanapun, apabila

Pakej konteks dalam bahasa Go digunakan untuk menghantar maklumat konteks permintaan dalam program Ia boleh menghantar parameter, memintas permintaan dan membatalkan operasi antara fungsi merentas berbilang Goroutine. Untuk menggunakan pakej konteks dalam Go, kita perlu mengimport pakej "konteks" terlebih dahulu. Di bawah ialah contoh yang menunjukkan cara menggunakan pakej konteks untuk melaksanakan penghantaran parameter permintaan. packagemainimport("konteks"

Cara menyelesaikan ralat Vue: Tidak dapat menggunakan prop untuk menghantar data Prakata: Semasa proses pembangunan Vue, adalah perkara biasa untuk menggunakan prop untuk memindahkan data antara komponen induk dan anak. Walau bagaimanapun, kadangkala kita mungkin menghadapi masalah, iaitu, apabila menggunakan prop untuk menghantar data, ralat akan berlaku. Artikel ini akan menumpukan pada cara menyelesaikan ralat bahawa prop tidak boleh digunakan untuk menghantar data dalam Vue. Penerangan masalah: Dalam pembangunan Vue, apabila kita menggunakan prop dalam komponen induk untuk menghantar data kepada komponen anak, jika

Pengenalan Menghantar mesej ialah kaedah menghantar komunikasi antara item atau benang dan merupakan idea asas dalam sistem teragih dan pengaturcaraan selari. Bergantung pada keperluan khusus pelaksanaan, pemindahan mesej dalam Java boleh dicapai melalui pelbagai kaedah dan struktur menggunakan bekas sumber kuasa java.util.concurrent, yang menyediakan satu siri antara muka dan perpustakaan kelas untuk mewujudkan dan mengendalikan benang sebagai kunci aktif Dan mekanisme penyegerakan ialah kaedah tunggal dalam Java yang melaksanakan penghantaran mesej, seperti contoh. Contohnya, antara muka Pelaksana boleh digunakan serta-merta untuk melaksanakan tugas, manakala sambungan BlockingQueue boleh digunakan untuk menghantar kenyataan antara proses serentak. Di atas ialah carta alir bagi keseluruhan proses penghantaran mesej di Jawa. Jenis antara mukaExecu

Dalam PHP, anda boleh menggunakan simbol ampersand (&) untuk menghantar pembolehubah melalui rujukan dan bukannya mengikut nilai. Ini membolehkan pembolehubah asal diubah suai dalam fungsi atau kaedah. Terdapat dua cara untuk menghantar pembolehubah PHP dengan rujukan: Menggunakan simbol ampersand Menggunakan simbol ampersand dalam fungsi/pengisytiharan kaedah Menggunakan simbol ampersand dalam pengisytiharan fungsi/kaedah Apabila menghantar pembolehubah kepada fungsi/kaedah Dalam PHP, anda boleh menggunakan fungsi/ Simbol ampersand ( &) dalam pengisytiharan kaedah melepasi pembolehubah melalui rujukan. Berikut ialah penjelasan yang dikemas kini: Untuk menghantar pembolehubah rujukan dengan menggunakan simbol & dalam pengisytiharan fungsi/kaedah, anda perlu memasukkan simbol & sebelum nama parameter dalam definisi fungsi/kaedah. Ini menunjukkan bahawa parameter harus diluluskan dengan rujukan, membenarkan

Go ialah bahasa pengaturcaraan yang ditaip kuat, dan parameter fungsinya diluluskan mengikut nilai. Ini bermakna apabila anda menghantar parameter kepada fungsi, anda sebenarnya membuat salinan nilai parameter dan menghantar nilai itu kepada fungsi untuk diproses. Oleh itu, apabila menggunakan parameter fungsi lulus dalam Go, anda perlu memberi perhatian kepada perkara berikut: Perbezaan antara jenis nilai dan jenis rujukan Dalam Go, kecuali jenis data asas yang merupakan jenis nilai, semua jenis data adalah jenis rujukan. Apabila data jenis nilai diluluskan sebagai parameter fungsi, salinan nilai akan disalin dan dihantar ke fungsi manakala data jenis rujukan

Cara menangani transaksi teragih dan masalah penghantaran mesej dan penyelesaian dalam pembangunan C# Dalam sistem teragih, transaksi teragih dan penghantaran mesej adalah masalah biasa. Urus niaga teragih merujuk kepada transaksi yang melibatkan pelbagai pangkalan data atau perkhidmatan, manakala pemesejan merujuk kepada komunikasi tak segerak antara komponen berbeza dalam sistem. Artikel ini akan memperkenalkan cara menangani isu ini dalam pembangunan C# dan menyediakan contoh kod khusus. 1. Masalah dan penyelesaian transaksi yang diedarkan Dalam transaksi nod tunggal tradisional, logik pemprosesan transaksi dirangkumkan dalam operasi pangkalan data. Walau bagaimanapun, dalam diedarkan
