转义PHP字符串

转义PHP字符串,php,string,Php,String,我试图在内容中添加一个php会话,如下所示,但它只是显示一个空页面。我肯定逃跑是不对的 echo "<meta http-equiv=\"refresh\" content=\"0;URL=$_SESSION['name'];\">"; 我想将会话添加到url中,使其重定向到“somepage”。在双引号的“smart”字符串中,不能仅在单个变量中包含引用数组 试试这个: echo "<meta http-equiv=\"refresh\" content=\"0;URL="

我试图在内容中添加一个php会话,如下所示,但它只是显示一个空页面。我肯定逃跑是不对的

echo "<meta http-equiv=\"refresh\" content=\"0;URL=$_SESSION['name'];\">";
我想将会话添加到url中,使其重定向到“somepage”。

在双引号的“smart”字符串中,不能仅在单个变量中包含引用数组

试试这个:

echo "<meta http-equiv=\"refresh\" content=\"0;URL=".$_SESSION['name'].";\">";
echo”“;
试试这个

echo '<meta http-equiv="refresh" content="0;URL=' . $_SESSION['name'] . ';">';
echo”“;

应该可以正常工作。

组合html引号和变量的最佳方法是按以下方式进行:

echo '<meta http-equiv="refresh" content="0;URL=' . $_SESSION['name'] . ';">';
echo';
可能是这样的:

echo "<meta http-equiv=\"refresh\" content=\"0;URL=" . $_SESSION['name'] . ";\">";
echo”“;

我想知道为什么没有人提到printf

printf('<meta http-equiv="refresh" content="0;URL=%s;">', $_SESSION['name']);
printf(“”,$_SESSION['name']);
当您需要在文本中输出许多变量时,这将非常有用。请参阅。

您可能想了解如何:


+我还建议添加
htmlspecialchars()
htmlspecialchars()
以阻止意外值破坏HTML输出。谢谢大家,这帮了大忙:)
echo '<meta http-equiv="refresh" content="0;URL=' . $_SESSION['name'] . ';">';
echo "<meta http-equiv=\"refresh\" content=\"0;URL=" . $_SESSION['name'] . ";\">";
printf('<meta http-equiv="refresh" content="0;URL=%s;">', $_SESSION['name']);
// do not use single quotes
echo "<meta http-equiv=\"refresh\" content=\"0;URL=$_SESSION[name]\">";

// curly brackets syntax works too but requires quotes; useful in cases when
// variable name is immediately followed by alpha-numeric/underscore character(s)
echo "<meta http-equiv=\"refresh\" content=\"0;URL={$_SESSION['name']}\">";

// curly brackets alternate syntax
echo "<meta http-equiv=\"refresh\" content=\"0;URL=${_SESSION['name']}\">";
echo sprintf("<meta http-equiv=\"refresh\" content=\"0;URL=%s\">", $_SESSION['name']);