$a = <<<EOF thy38 csdn blog EOF;傳遞給JavaScript后要等價于:
var c='thy38/n/ csdn/n/ blog';因為對這兩門語言的理解低到不知如何Google, " /> 欧美日本高清一区,91久久精品日日躁夜夜躁国产,一区二区三区四区日本视频

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP中的多行字符串傳遞給JavaScript的兩種方法

phpJavaScript都是初學。最近有這么個需求:

比方說有一個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: 以上方法是在跟一個phpJavaScript程序員同學的討論中逐步得出的。
寫完了文章回頭再想想,其實這兩個很繞的方法還是源于對phpJavaScript的多行字符串理解不透。
理解透了也就簡單了,遠不用這么復雜,直接字符串替換就行:

var d=<?php echo '/''.str_replace("/r/n", "http://n///n", $a).'/''; ?>; alert(d==c);

php技術PHP中的多行字符串傳遞給JavaScript的兩種方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 大石桥市| 理塘县| 桂林市| 涿州市| 龙里县| 红桥区| 弥渡县| 萨迦县| 大余县| 汉寿县| 永新县| 从江县| 清水河县| 邯郸市| 肥西县| 新平| 灵丘县| 洛南县| 慈溪市| 呼和浩特市| 湖口县| 闵行区| 青冈县| 五家渠市| 禹州市| 葫芦岛市| 新绛县| 伊通| 上栗县| 安新县| 舟山市| 和政县| 衡山县| 宜君县| 屯留县| 长岭县| 呼玛县| 顺平县| 军事| 泾川县| 迭部县|