Javascript PHP-回显HTML的多个嵌套引号

Javascript PHP-回显HTML的多个嵌套引号,javascript,php,html,quotes,Javascript,Php,Html,Quotes,我正试图通过PHP响应下面一行HTML echo "<a class='fa fa-ban fa-2x cancelClass' onClick='cancelClass('$id', '$formattedDate', '$time')'></a><p class='text-center'>".$formattedDate." @ $time</p>"; echo” 它应该如何进行颜色编码(另一个函数的示例) 将其更改为以下内容 echo "

我正试图通过PHP响应下面一行HTML

echo "<a class='fa fa-ban fa-2x cancelClass' onClick='cancelClass('$id', '$formattedDate', '$time')'></a><p class='text-center'>".$formattedDate." @ $time</p>";
echo”

它应该如何进行颜色编码(另一个函数的示例)
将其更改为以下内容

echo "<a class=\"fa fa-ban fa-2x cancelClass\" onClick=\"cancelClass('$id', '$formattedDate', '$time')\"></a><p class=\"text-center\">".$formattedDate." @ $time</p>";
echo“

”$formattedDate.@$time

”;

对属性双引号进行转义可以得到一个规范化的html

echo "<a class=\"fa fa-ban fa-2x cancelClass\" onClick=\"cancelClass('$id', '$formattedDate', '$time')\"></a><p class=\"text-center\">".$formattedDate." @ $time</p>";
echo“

”$formattedDate.@$time

”;

转义属性双引号可以获得规范化的html,您需要执行以下操作:

echo "<a class='fa fa-ban fa-2x cancelClass' onClick=\"cancelClass('".$id."', '".$formattedDate."', '".$time."')\"></a><p class='text-center'>".$formattedDate." @ $time</p>";
echo“

”$formattedDate.@$time

”;
您需要执行以下操作:

echo "<a class='fa fa-ban fa-2x cancelClass' onClick=\"cancelClass('".$id."', '".$formattedDate."', '".$time."')\"></a><p class='text-center'>".$formattedDate." @ $time</p>";
echo“

”$formattedDate.@$time

”;
它们确实得到了正确的解析,但是您指定了错误的使用方法。Javascript无法区分用于包装字符串变量的引号和用于包装“onclick”值的引号,它认为onclick结束得太早

要区分它们,你必须先将它们转义。括号内的部分使用
\“

echo "<a class='fa fa-ban fa-2x cancelClass' onClick='cancelClass(\"$id\", \"$formattedDate\", \"$time\")'></a><p class='text-center'>".$formattedDate." @ $time</p>";
echo“

”$formattedDate.@$time

”;
我们应该做到这一点

或者,不要对整个字符串使用echo,只需直接输出其中的大部分:

?> //temporarily stop interpreting the file as PHP, so the next bit will be output directly as raw HTML
<a class='fa fa-ban fa-2x cancelClass' onClick='cancelClass("<?php echo $id;?>", "<?php echo $formattedDate; ?>", "<?php echo $time;?>")'></a><p class='text-center'>".$formattedDate." @ $time</p>
<?php //continue with PHP
?>//暂时停止将文件解释为PHP,这样下一位将直接作为原始HTML输出
它们确实得到了正确的解析,但是您指定了错误的要使用的。Javascript无法区分用于包装字符串变量的引号和用于包装“onclick”值的引号,它认为onclick结束得太早

要区分它们,你就必须避开它们。使用
\”
处理括号内的内容

echo "<a class='fa fa-ban fa-2x cancelClass' onClick='cancelClass(\"$id\", \"$formattedDate\", \"$time\")'></a><p class='text-center'>".$formattedDate." @ $time</p>";
echo“

”$formattedDate.@$time

”;
我们应该做到这一点

或者,不要对整个字符串使用echo,只需直接输出其中的大部分:

?> //temporarily stop interpreting the file as PHP, so the next bit will be output directly as raw HTML
<a class='fa fa-ban fa-2x cancelClass' onClick='cancelClass("<?php echo $id;?>", "<?php echo $formattedDate; ?>", "<?php echo $time;?>")'></a><p class='text-center'>".$formattedDate." @ $time</p>
<?php //continue with PHP
?>//暂时停止将文件解释为PHP,这样下一位将直接作为原始HTML输出

在HTML中使用双引号。 使用带有ENT_引号的htmlspecialchars转义具有双引号的值

echo '<a class="fa fa-ban fa-2x cancelClass" onClick="'.htmlspecialchars("cancelClass('$id', '$formattedDate', '$time')", ENT_QUOTES).
 '"></a><p class="text-center">'.$formattedDate." @ $time</p>";
echo'

。$formattedDate.@$time

”;
在HTML中使用双引号。 使用带有ENT_引号的htmlspecialchars转义具有双引号的值

echo '<a class="fa fa-ban fa-2x cancelClass" onClick="'.htmlspecialchars("cancelClass('$id', '$formattedDate', '$time')", ENT_QUOTES).
 '"></a><p class="text-center">'.$formattedDate." @ $time</p>";
echo'

。$formattedDate.@$time

”;
PHP区分单引号和双引号。您可以尝试在使用中保持一致。
PHP区分单引号和双引号。你可以试着在使用上保持一致。
啊,谢谢。忘记了反斜杠的救生能力。啊,谢谢。忘记了反斜杠的救生能力。