2011-11-17 102 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) 
);