2014-11-09 115 views
1

我想顯示彈出文本時,我將鼠標懸停在其他文本上。彈出文本將只顯示第一個單詞。我對php等新手比較陌生,所以我希望這不是一個愚蠢的問題,但是我在這裏做錯了什麼?懸停文本只顯示第一個字

while ($row = mysql_fetch_array($data)) { 
    $description = $row[2]; 
    echo $description; //output: "Get an Automatic..." 
    echo "<a title=$description>"; //Hover output: "Get" 
    echo "blah blah blah"; 
    echo "</a>; 
} 

回答

4

你需要加上引號,可將它們包裝:

echo "<a title='$description'>" 

旁註:這也是重要的,你可能會得到的字符串是這樣的:

Get an automatic test's 

那必將陷入困境的是報價,並提前終止,可能會更好地在該情況下添加htmlspecialchars()

$description = htmlspecialchars($row[2], ENT_QUOTES); 
+0

廢話。這是一個愚蠢的問題。謝謝!!! – Evorlor 2014-11-09 02:33:18

+0

@Evorlor是的,那個微妙的東西也很重要。我很高興這有幫助 – Ghost 2014-11-09 02:33:44

+0

只是你知道,這不是一個真正的疏忽。只是我不知道字符串變量需要單引號。 – Evorlor 2014-11-09 02:34:34

2

這應該爲你工作:

while ($row = mysql_fetch_array($data)) { 
    $description = $row[2]; 
    echo $description; //output: "Get an Automatic..." 
    $firstWord = explode(' ',trim($description)); 
    echo "<a title='$firstWord[0]'>"; //Hover output: "Get" 
    echo "blah blah blah"; 
    echo "</a>"; 
} 

BTW:你有扭曲的稱號attribut字符串,並在結尾評論後

UPDATE忘了「報價:

是的,這可能是因爲你沒有扭曲title屬性,並且你忘記了「最後的報價

所以將其更改爲:

... 
echo "<a title='$description'>"; 
... 
echo "</a>"; 
+0

謝謝,但問題在於我只得到第一個字。不是我只想要第一個字。對不起,不清楚。 – Evorlor 2014-11-09 02:35:51