搜索
首页后端开发php教程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(<&#63;php echo '\''.json_encode(explode("\r\n", $a)).'\''; &#63;>).join('\n'); 
alert(b==c); 

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

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

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/825410.htmlTechArticlePHP和JavaScript都是初学。最近有这么个需求: 比方说有一个PHP的多行字符串: $a = EOF thy38 csdn blog EOF; 传递给JavaScript后要等价于: var c='thy...
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
什么是 Windows 11 中的传递优化文件,您可以删除它们吗?什么是 Windows 11 中的传递优化文件,您可以删除它们吗?Sep 29, 2023 pm 04:09 PM

传递优化是帮助Windows更新和Windows应用商店更快地运行和交付更新的功能。传递优化中的缓存文件应该在一段时间后删除,但对于我们的一些读者来说,它们不断堆积并占用不必要的空间。删除传递优化文件是否安全?是的,删除传递优化文件是安全的,在本文中,您会发现在Windows11中这样做非常容易。尽管不建议手动删除传递优化文件,但可以自动执行此操作。如何删除Windows11上的传递优化文件?单击搜索栏,键入磁盘清理,然后从结果中打开该工具。如果您有多个驱动器,请选择带有系统的驱动器(通常是C:

Go中如何使用context实现请求参数传递Go中如何使用context实现请求参数传递Jul 22, 2023 pm 04:43 PM

Go语言中的context包是用来在程序中传递请求的上下文信息的,它可以在跨多个Goroutine的函数之间传递参数、截取请求和取消操作。在Go中使用context包,我们首先需要导入"context"包。下面是一个示例,演示了如何使用context包实现请求参数传递。packagemainimport(&quot;context&quot

Python中的多行字符串的水平连接Python中的多行字符串的水平连接Aug 27, 2023 pm 11:49 PM

在Python中,字符串的连接是一种常见操作,它允许您将两个或多个字符串合并为一个字符串。虽然垂直连接字符串(即,一个在另一个下方)很简单,但是横向连接字符串(即,并排放置)需要一些额外的处理,特别是在处理多行字符串时。在本文中,我们将探讨在Python中执行多行字符串的横向连接的不同方法。Method1:Usingthe+OperatorThe+operatorcanbeusedtocombinetwoormorestringsintoasinglestring.However,whendea

如何解决Vue报错:无法使用props传递数据如何解决Vue报错:无法使用props传递数据Aug 17, 2023 am 10:06 AM

如何解决Vue报错:无法使用props传递数据前言:在Vue的开发过程中,使用props来进行父子组件之间的数据传递是非常常见的。然而,有时候我们可能会遇到一个问题,即在使用props传递数据时,会出现报错的情况。本文将重点介绍如何解决Vue中无法使用props传递数据的报错。问题描述:在Vue开发中,当我们在父组件中使用props来传递数据给子组件时,如果

在Java中的消息传递在Java中的消息传递Aug 26, 2023 pm 10:13 PM

简介消息传递是一种在项目或线程之间传输通信的方法,是分布式系统和并行编程中的基本思想。根据实现的特定需求,Java中的消息传输可以通过各种方法和结构来完成使用动力源java.util.concurrent容器,它提供了一系列接口和类库,用于建立和处理作为活动锁的线程以及同步机制,是Java中实现传递消息的单一方法,例如实例。例如,Executor接口可以立即使用来执行任务,而BlockingQueue连接可用于在并发进程之间传递语句。以上是Java中消息传递的整个流程的流程图。接口类型Execu

PHP函数参数传递详解PHP函数参数传递详解Jun 15, 2023 pm 10:33 PM

PHP作为一门广泛应用于网站后台开发的语言,其函数参数传递也是其基本特性之一,非常重要。本文将详细讲解PHP函数参数传递的相关知识。传值与传引用在PHP函数参数传递中,有两种方式:传值和传引用。传值是指将实参的值复制一份给形参,函数内部对形参的修改不会影响实参。传引用则是将实参的内存地址传递给形参,函数内部对形参的修改也会直接影响实参。例如:function

如何通过引用传递PHP变量如何通过引用传递PHP变量Aug 26, 2023 am 09:01 AM

在PHP中,您可以使用和号(&)符号将变量按引用而不是按值传递。这样可以在函数或方法内修改原始变量。主要有两种方式可以通过引用传递PHP变量:使用ampersand符号在函数/方法声明中使用和符号将变量传递给函数/方法时在函数/方法声明中使用和号在PHP中,您可以使用函数/方法声明中的和号符号(&)通过引用传递变量。以下是更新的解释:要通过在函数/方法声明中使用&符号来传递引用变量,您需要在函数/方法定义中在参数名称之前包含&符号。这表示参数应该通过引用传递,允许

如何在Go中使用函数参数传递?如何在Go中使用函数参数传递?May 11, 2023 pm 05:00 PM

Go是一个强类型的编程语言,它的函数参数传递是按值传递的。这意味着当你给函数传递参数时,实际上是复制了一份该参数的值,并将该值传递给函数进行处理。因此,在Go中使用函数参数传递时,需要注意以下几点:值类型和引用类型的区别在Go中,除了基本数据类型是值类型以外,所有的数据类型都是引用类型。值类型的数据在进行函数参数传递时,会复制一份值并传递给函数;而引用类型的

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器