19

我有一行看起来像这样的 php 代码:

echo "<script>$('#edit_errors').html('<h3><em>Please Correct Errors Before Proceeding</em></h3>')</script>";

我想知道如何正确地为文本添加字体颜色。如果我这样做:

echo "<script>$('#edit_errors').html('<h3><em><font color="red">Please Correct Errors Before Proceeding</font></em></h3>')</script>";

“红色”一词是黑色文本,编译器会抛出错误。

如果我在红色周围使用单引号,则文本根本不会显示。

任何帮助都会很棒。谢谢

4

6 回答 6

60

你需要 escape ",所以它不会被解释为字符串的结尾。用来\逃避它:

echo "<script>$('#edit_errors').html('<h3><em><font color=\"red\">Please Correct Errors Before Proceeding</font></em></h3>')</script>";

阅读更多:字符串转义序列

于 2012-06-14T15:30:24.517 回答
12

使用HEREDOC,它消除了交换引用类型和/或转义它们的任何需要:

echo <<<EOL
<script>$('#edit_errors').html('<h3><em><font color="red">Please Correct Errors Before Proceeding</font></em></h3>')</script>
EOL;
于 2012-06-14T15:33:32.363 回答
4

只是逃避你的报价:

echo "<script>$('#edit_errors').html('<h3><em><font color=\"red\">Please Correct Errors Before Proceeding</font></em></h3>')</script>";
于 2012-06-14T15:30:45.993 回答
4

您需要通过在 .\之前添加反斜杠来转义字符串中的引号"

像:

"<font color=\"red\">"
于 2012-06-14T15:31:27.990 回答
2

如果您需要在引号中访问变量以获取 echo 语句,请将变量放在大括号内

echo "i need to open my lock with its: {$array['key']}";
于 2014-02-23T03:16:32.497 回答
1

您可以放弃字母数字属性的引号:

echo "<font color=red> XHTML is not a thing anymore. </font>";
echo "<div class=editorial-note> There, I said it. </div>";

在 HTML 中完全有效,尽管仍然被回避,但自 HTML5 以来绝对流行。

注意事项

  • 它仅对大多数字母数字和破折号组合有效。
  • 永远不要在用户输入附加到属性(那些需要引用和htmlspecialchars/或一些白名单)的情况下这样做。
  • 另请参阅:当属性值在 HTML5 中不被引用时
  • 在其他新闻中:<font>具体来说有点过时了。
于 2019-03-19T19:11:14.370 回答