2014-11-09 118 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