【发布时间】:2021-09-17 05:58:50
【问题描述】:
我将非常简单地问这个问题。
在下面的示例中,() {} 括号按预期工作,并在我的编辑器(原子)中适当地着色:
<p> "<?php if(){} ?>" </p>
在下面的示例中,() {} 括号没有着色,在我的编辑器 (atom) 中它们应该着色:
<p name= "<?php if(){} ?>" ></p>
在下面的代码中,() {} 的颜色不合适,但函数 WORKS(用于 true 和 false):
<p name=" <?php if (TRUE) { echo "it is ok" } else { echo "it is not ok" } ?> "></p>
所以一切都很好,对吧?这只是语法高亮问题,对吧?错误的! 如果我输入这个......
<?php if (FALSE) { ?> <input value=" <?php echo "it is ok"; } ?> ">
... 如果为 FALSE,则浏览器输出 "> 输入字段的位置。 (如果为 TRUE,那么它会显示您所期望的,一个值为“它没问题”的输入字段。)
- 但是为什么?有两个不同的 php 块。
- 这只是属性内部的一个问题。不在 HTML 中的其他引号内。
- 如何解决这个问题?
非常感谢您的帮助!
【问题讨论】:
-
当然
">会被打印出来,因为它在您的if (FALSE)之外。 -
正如@u_mulder 所说,您没有正确嵌套 PHP 和 HTML。
-
大家好,感谢您的评论。但这没有多大意义(至少在 PHP 在其他情况下的行为方面。我绝对知道我可以在 php-blocks 中打开 if 函数,然后使用 php 块在另一个地方关闭它。这就是 php部分: if (FALSE) { echo "it is ok"; } (result = it is ok) 这是 html 部分: 所以即使它是假的,从逻辑上讲它不应该激活 if声明,我只剩下上面的 html 部分。这是没有意义的。任何输入的家伙?@Barmar
标签: php string syntax attributes quotes