在PHP代码中,我需要使用echo来键入一些HTML代码。在HTML内部,我调用了一个事件,它启动了一个需要带字符串的JS代码。
<?php
echo "<input type='text' name='myname' onclick='startJScode(this, "Input your name")' />";
?>
为了告诉我要回复什么,我使用了字符“,所以我用'来定义HTML中的字符串。但是没有其他引号类型留下来为Javascript代码定义一个字符串 - 使用它们中的任何一个将与已经使用的字符串混合。
如何处理呢?
答案 0 :(得分:1)
使用:
<?php
echo "<input type='text' name='myname' onclick='startJScode(this, \"Input your name\")' />";
?>
答案 1 :(得分:0)
使用
<?php
echo "<input type='text' name='myname' onclick=\"startJScode(this, 'Input your name')\" />";
?>
在
echo " ";
不要像
那样重复双重qoute错误代码
v //double quote ended here
echo "this is a "test" string";
^ //double quote started here
因此,如果报价
之间需要,则需要在双引号前使用反斜杠正确的代码
v //use backslash
echo "this is a \"test\" string";
^ //use backslash
单引号相同的问题
错误代码
v //double quote ended here
echo 'this is a 'test' string';
^ //double quote started here
正确的代码
v //use backslash
echo 'this is a \'test\' string';
^ //use backslash
否则
如果开始和结束报价是代码之间的双引号将是单引号
echo "this is a 'test' string";
和
如果开始和结束报价是单引号之间的代码将是双引号
echo 'this is a "test" string';
答案 2 :(得分:0)
您可以使用\
转义引号例如:
echo "<input type='text' name='myname' onclick='startJScode(this, \"Input your name\")' />"
这将逃避内部引号。
或者您可以使用Heredoc syntax
示例:
$foo = <<<CODE
<input type="text" name="myname" onclick="startJScode(this, 'Input your name')" />
CODE;
echo $foo;
如果您想输出带有许多不同引号的XML \ HTML,那么Heredoc语法非常方便,因为它允许您省略字符串的引号。