在 HTML 标记中使用 PHP 变量?
我对php很陌生,但我被困在这个问题上...假设我等待使用给定参数将链接放到另一个站点,我该怎么做?
这就是我现在拥有的:
<html>
<body>
<?php
$param = "test";
echo "<a href="http://www.whatever.com/$param">Click Here</a>;
?>
</body>
</html>
我对php很陌生,但我被困在这个问题上...假设我等待使用给定参数将链接放到另一个站点,我该怎么做?
这就是我现在拥有的:
<html>
<body>
<?php
$param = "test";
echo "<a href="http://www.whatever.com/$param">Click Here</a>;
?>
</body>
</html>
好吧,对于初学者来说,您可能不想过度使用echo,因为(就像您的情况一样)您很容易在引号上犯错误。
这将解决您的问题:
echo "<a href=\"http://www.whatever.com/$param\">Click Here</a>";
但你真的应该这样做
<?php
$param = "test";
?>
<a href="http://www.whatever.com/<?php echo $param; ?>">Click Here</a>
您可以通过多种方式执行此操作,具体取决于您使用的报价类型:
echo "<a href='http://www.whatever.com/$param'>Click here</a>";
echo "<a href='http://www.whatever.com/{$param}'>Click here</a>";
echo '<a href="http://www.whatever.com/' . $param . '">Click here</a>';
echo "<a href=\"http://www.whatever.com/$param\">Click here</a>";
双引号允许在字符串中间使用变量,其中单引号是字符串文本,因此,将所有内容解释为字符串 - 仅此而已 - 甚至不会扩展为表示新行字符,它将只是字符和顺序。\n
\
n
您需要小心使用您决定的任何类型的引用。您不能在双引号字符串中使用双引号(如示例中所示),因为您将提前结束字符串,这不是您想要的。但是,您可以通过添加反斜杠来转义内部双引号。
另外,在将不安全的变量(由用户填充)输出到浏览器时,您可能需要小心XSS攻击。