我遇到了这个奇怪但烦人的浏览器语法问题。通过以下方式编码,我丢失了特殊字符后的所有字符串:"
echo '<td><input type=text style=width:100px name=itembrand value="' . $itembrand . ' " </td>';
echo '<td><input type=text style=width:150px name=itemname value="' . $itemname . '" </td>';
echo '<td><input type=text style=width:150 name=serialnr value="' . $serialnr . '" </td>';
echo '<td><input type=text style=width:150px name=addinfo value="' . $addinfo . '" </td><td>';
如果我以相反的方式编码,我会在 '
之后丢失所有内容:
echo "<td><input type=text style=width:37px name=code value='" . $code ."' </td>";
echo "<td><input type=text style=width:100px name=itembrand value='" . $itembrand . "' </td>";
echo "<td><input type=text style=width:150px name=itemname value='" . $itemname . "' </td>";
echo "<td><input type=text style=width:150 name=serialnr value='" . $serialnr . "' </td>";
echo "<td><input type=text style=width:150px name=addinfo value='" . $addinfo . "' </td><td>";
即使使用 '
也能回显数据库项的正确语法是什么?和 "
连同它后面的字符串?
注意:
我用的是<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
并且数据库条目是正确的,所以这一定是符合语法的。
最佳答案
好的,我使用 htmlspecialchars()
来解决这个问题。代码将是这样的:
echo '<td><input type=text style=width:100px name=itembrand value="' . htmlspecialchars($itembrand) . ' " </td>';
echo '<td><input type=text style=width:150px name=itemname value="' . htmlspecialchars($itemname) . '" </td>';
echo '<td><input type=text style=width:150 name=serialnr value="' . htmlspecialchars($serialnr) . '" </td>';
echo '<td><input type=text style=width:150px name=addinfo value="' . htmlspecialchars($addinfo) . '" </td><td>';
关于php - echo out mysql_real_escaped quotes 在引号或双引号后截断字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13415056/