PHP中的多行字符串傳遞給JavaScript的兩種方法
PHP和JavaScript都是初學(xué)。最近有這么個需求:
比方說有一個PHP的多行字符串:
$a = <<<EOF thy38 csdn blog EOF;
傳遞給JavaScript后要等價于:
var c='thy38\n\ csdn\n\ blog';
因為對這兩門語言的理解低到不知如何Google,只好自己摸索出方法兩則:
1. 將PHP先轉(zhuǎn)義,然后分割,然后轉(zhuǎn)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從它里面讀,就實現(xiàn)了多行值的傳遞
<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程序員同學(xué)的討論中逐步得出的。
寫完了文章回頭再想想,其實這兩個很繞的方法還是源于對PHP和JavaScript的多行字符串理解不透。
理解透了也就簡單了,遠不用這么復(fù)雜,直接字符串替換就行:
var d=<?php echo '\''.str_replace("\r\n", "\\n\\\n", $a).'\''; ?>;
alert(d==c);
相關(guān)文章
fleaphp crud操作之find函數(shù)的使用方法
fleaphp crud操作之find函數(shù)的用法,需要的朋友可以參考下。2011-04-04
PHP數(shù)組對象與Json轉(zhuǎn)換操作實例分析
這篇文章主要介紹了PHP數(shù)組對象與Json轉(zhuǎn)換操作,結(jié)合實例形式分析了php數(shù)組對象與json相互轉(zhuǎn)換的實現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下2019-10-10
php字符串替換函數(shù)substr_replace()用法實例
這篇文章主要介紹了php字符串替換函數(shù)substr_replace()用法,實例分析了php中substr_replace函數(shù)的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
php強大的時間轉(zhuǎn)換函數(shù)strtotime
在php中strtotime() 函數(shù)將任何英文文本的日期時間描述解析為 Unix 時間戳,這個函數(shù)也是我們經(jīng)常會用到的,有需要的朋友參考一下2016-02-02
PHP Memcached應(yīng)用實現(xiàn)代碼
在很多場合,我們都會聽到 memcached 這個名字,但很多同學(xué)只是聽過,并沒有用過或?qū)嶋H了解過,只知道它是一個很不錯的東東。這里簡單介紹一下,memcached 是高效、快速的分布式內(nèi)存對象緩存系統(tǒng),主要用于加速 WEB 動態(tài)應(yīng)用程序。2010-02-02

