php REQUIRE是否在meta content head语句中有效?

时间:2018-11-04 17:23:02

标签: php html5 meta

我了解到,在HTML文档中包含<?php require("example.php"); ?>会导致文件example.php被包含在文档中的该位置(“作为文字字符串”)。例如

<!DOCTYPE html>
    <head> .. </head>
    <body>
      <?php 
         require("example.php"); 
       ?>
    </body>
</html>

这在html文档的主体内有效,但是在头中的meta语句中使用相同的技术是否有效,例如<meta name="description" content="<?php require("example.php");?>">吗? 这样的文档可以正常显示,但是这样的meta标签有效吗?

1 个答案:

答案 0 :(得分:0)

...在HTML文档中包含<?php require("example.php"); ?>会导致文件example.php在那时被包含(“作为文字字符串”)...

您的假设的基础是错误的。带有.html扩展名的文件通常不被php“编译器”解析(除非您专门使服务器这样做,这是解决该问题的相对先进的技术)。它们甚至都没有传递给php运行时,因为您的服务器可以直接将它们提供给它们,而完全绕开了php执行流程。

由于未对其进行解析,因此这些文件中的任何php标签都只是一个字符串。因此,require语句不代表任何内容,并且不包括“必需文件”,既不作为文字字符串也不作为实时代码。

关于它在meta标记中是否有效,现在由于未解析它们(php标记),服务器将完全照原样输出该字符串,因此有效性必须根据html规范确定(因为php发挥任何作用都是没有作用的。)

就HTML而言,客户端浏览器将尝试解释php标记,并且很可能将其与xml标记(<?xml)混淆,btw无效在任何地方在html文档中,无论是头部,元数据还是其他任何地方。

相关问题