Heim > Backend-Entwicklung > PHP-Tutorial > PHP中的多行字符串传递给JavaScript的两种方法_PHP教程

PHP中的多行字符串传递给JavaScript的两种方法_PHP教程

WBOY
Freigeben: 2016-07-13 10:24:36
Original
800 Leute haben es durchsucht

PHP和JavaScript都是初学。最近有这么个需求:

比方说有一个PHP的多行字符串:

$a = <<<EOF 
thy38 
csdn 
blog 
EOF;
Nach dem Login kopieren

传递给JavaScript后要等价于:

var c='thy38\n\ 
csdn\n\ 
blog';
Nach dem Login kopieren

因为对这两门语言的理解低到不知如何Google,只好自己摸索出方法两则:

1. 将PHP先转义,然后分割,然后转JSON,然后JavaScript parse,最后用\n拼接。

var b=JSON.parse(<&#63;php echo '\''.json_encode(explode("\r\n", $a)).'\''; &#63;>).join('\n'); 
alert(b==c); 
Nach dem Login kopieren

2. 在页面上安排一个隐藏的input,然后先由php把值给它,然后JavaScript从它里面读,就实现了多行值的传递

<input type="hidden" id='testphp' value="<&#63;php echo $a&#63;>" /> 
var a=document.getElementById("testphp").value; 
var b=JSON.parse(<&#63;php echo '\''.json_encode(explode("\r\n", $a)).'\''; &#63;>).join('\n'); 
alert(a==b); 
alert(b==c); 
Nach dem Login kopieren

PS: 以上方法是在跟一个PHP加JavaScript程序员同学的讨论中逐步得出的。
写完了文章回头再想想,其实这两个很绕的方法还是源于对PHP和JavaScript的多行字符串理解不透。
理解透了也就简单了,远不用这么复杂,直接字符串替换就行:

var d=<&#63;php echo '\''.str_replace("\r\n", "\\n\\\n", $a).'\''; &#63;>; 
alert(d==c);
Nach dem Login kopieren

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/825410.htmlTechArticlePHP和JavaScript都是初学。最近有这么个需求: 比方说有一个PHP的多行字符串: $a = EOF thy38 csdn blog EOF; 传递给JavaScript后要等价于: var c='thy...
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage