【发布时间】:2012-07-23 02:40:57
【问题描述】:
我的页面上有一个表格,显示卡名、费用、系列、稀有度。此信息来自数据库表。当用户将鼠标悬停在表格中的任何卡片名称上时,卡片会弹出一个图像,并且一旦移除鼠标,图像就会关闭(为此使用 jQuery 脚本)。
卡片名称单元格的代码如下所示:
<td><a href='#' class='screenshot' rel='cards/$cardname.jpg'>$cardname</a></td>
一切正常,除非 $cardname 包含 ' 这会弄乱代码并阻止图像显示(卡名不工作的示例可能是“Faith's Shield”)。我尝试使用 ´ 代替,但这似乎也不起作用。
我知道这可能不是实现我想要做的事情的最佳方式,但我对网络编程还很陌生,这似乎是一个让它工作的简单技巧。
print "<table id='cardTable'>
<tr>
<th>Add to deck</th>
<th>Cardname</th>
<th>Cost</th>
<th>Set</th>
<th>Rarity</th>
</tr>";
while ($row = mysql_fetch_array($result)) {
$cardname = $row['cardname'];
$cost = $row['cost'];
$set = $row['set'];
$rarity = $row['rarity'];
$idCard = $row['idCard'];
print "<tr>
<td>
<form action='' method='post'>
<p><button type='submit' name='addCard' class='addCard' value='$idCard' title='Add card to deck'></button>
<select name='amount'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
</select></p>
</form>
</td>
<td><a href='#' class='screenshot' rel='cards/$cardname.jpg'>$cardname</a></td>
<td>$cost</td>
<td>$set</td>
<td>$rarity</td>
</tr>";
}
print "</table>";
【问题讨论】:
-
你必须对 (') 进行编码,你使用的是什么语言?
-
@devundef 我认为他没有编码问题。他正在从数据库中提取数据,但单引号导致 rel='' 属性过早终止并中断。他需要转义单引号或替换它(正如 rajat singhal 建议的那样)
-
有趣的是,在您的问题标题中,您使用双引号作为属性值,这正是解决您问题的方法。
-
你为什么使用
rel属性? -
@Sam,这就是我想说的。我的英语太差了! =D