我很新的PHP,但我坚持这个问题...说我等待把一个链接到另一个网站与给定的参数,我该怎么做correclty?在HTML标签内使用PHP变量?
这是我现在有:
<html>
<body>
<?php
$param = "test";
echo "<a href="http://www.whatever.com/$param">Click Here</a>;
?>
</body>
</html>
我很新的PHP,但我坚持这个问题...说我等待把一个链接到另一个网站与给定的参数,我该怎么做correclty?在HTML标签内使用PHP变量?
这是我现在有:
<html>
<body>
<?php
$param = "test";
echo "<a href="http://www.whatever.com/$param">Click Here</a>;
?>
</body>
</html>
嗯,首先,你可能不想要过度使用回声,因为(在你的情况的问题),你可以很轻松地在引号的错误。
这将解决您的问题:
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>
您可以嵌入一个变量到像我的第一个例子双引号的字符串,也可以使用concantenation (期间)就像我的第二个例子:
echo "<a href=\"http://www.whatever.com/$param\">Click Here</a>";
echo '<a href="http://www.whatever.com/' . $param . '">Click Here</a>';
请注意,我在第一个示例中使用了反斜杠来避开双引号。
定界符可能是一种选择,见例如2浏览:http://php.net/manual/en/language.types.string.php
你可以这样做多种方式,根据行情的类型,您使用:
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攻击。
HI碧玉,
,你可以这样做:
<?
sprintf("<a href=\"http://www.whatever.com/%s\">Click Here</a>", $param);
?>
我推荐使用短“,而不是‘如果你这样做,你不会再逃跑了双引号(\’ )。
在这种情况下,你会写
echo '<a href="http://www.whatever.com/'. $param .'">Click Here</a>';
不过看在尼古拉斯的回答‘你真的应该做什么’,以了解如何生产更清洁的代码。
有一种简略的方法可以做到这一点,我最近一直在使用。 这可能需要进行配置,但它应该可以在大多数主线PHP安装中使用。 如果你存储在PHP变量的链接,您可以根据过以下方式做到这一点OP:
<html>
<body>
<?php
$link = "http://www.google.com";
?>
<a href="<?= $link ?>">Click here to go to Google.</a>
</body>
</html>
这将评估该变量为字符串,在本质上速记回声$链接;
谢谢,这工作。我将更加注意分离HTML和PHP我想:-) – Jasper 2011-05-25 20:57:04
第一个例子适合我,但我想第二个,你需要回显 Ave 2014-06-03 19:42:07