我了解到,在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标签有效吗?
答案 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文档中,无论是头部,元数据还是其他任何地方。