2011-11-17 85 views
-1
$var = '<a href="http://amazon.com/dp/$v">http://amazon.com/dp/' . $v.'</a>'; 

在我的地址栏中,我看不到要传递的$ v值。我试图把它放在引号ETC中,但它仍然不显示。我的超链接有什么问题?

回答

4

当使用单引号时,它是一个文字字符串。将其更改为:

$var = '<a href="http://amazon.com/dp/'.$v.'">http://amazon.com/dp/'.$v.'</a>'; 

或者

$var = "<a href=\"http://amazon.com/dp/$v\">http://amazon.com/dp/$v</a>"; 
+1

我会建议使用的第一个版本,因为它是更可读并且与其他语言如何工作一致。使用第二个也涉及转义特殊字符的问题。 – Sgoettschkes

0
$var = '<a href="http://amazon.com/dp/' . $v . '">http://amazon.com/dp/' . $v.'</a>'; 
0

您需要使用以双引号替换$变量在 “字符串”。

或打破它并连接。 (点),除非字符串用双引号

0

PHP不解析字符串中的变量/你的代码更改为:

$var = "<a href='http://amazon.com/dp/$v'>http://amazon.com/dp/".$v."</a>"; 
0

既然你可能想urlencode()$vhref属性和htmlentities()在标签体内$v,这可能是你正在试图完成什么是最好的办法:

$var = sprintf(
    '<a href="http://amazon.com/dp/%s">%s</a>', 
    urlencode($v), 
    htmlentities($v) 
);