我正在尝试使用PHP进行惰性变量评估.受控示例代码:
<?php
function title($page)
{
return $page . ' - $_GET["title"]';
}
?>
<title><?= title($_SERVER['SCRIPT_NAME']) ?></title>
Run Code Online (Sandbox Code Playgroud)
$_GET['title']没有被评估.我怎样才能做到这一点?
根据文档,不评估单引号内的变量引用.使用双引号或简单连接:
function title($page)
{
return $page . ' - ' . $_GET["title"];
}
Run Code Online (Sandbox Code Playgroud)
并且在使用HTML时,你应该总是正确地转义变量htmlspecialchars().
<title><?= htmlspecialchars(title($_SERVER['SCRIPT_NAME'])); ?></title>
Run Code Online (Sandbox Code Playgroud)