2011-07-07 55 views
0

我试图使用W3C验证系统验证和我得到一个错误:更换为与&

Line 59, Column 47: character "&" is the first character of a delimiter but occurred as data

我知道为什么原因:

You used an unescaped ampersand "&": this may be valid in some contexts, but it is recommended to use "&amp", which is always safe.

在表单中,我进入像这样

SONY & BMG MUSIC ENTERTAINMENT

如果我在phpadmin去,在餐桌上,我可以看到正确的数据

SONY & BMG MUSIC ENTERTAINMENT

这是否意味着我必须使用“&放大器”,它进入...这太疯狂了,如果我有一个文本......我一定要每天更换为&“&放”

我相信有更好的方法来做到这一点..任何提示或想法?

谢谢

+0

你是如何使用这些数据的? 59号线是什么? – Neal

回答

3

您应该只在HTML中使用它时转义您的HTML数据。当您输出数据时,使用htmlspecialchars()。例如:

$title="SONY & BMG MUSIC ENTERTAINMENT"; 
echo htmlspecialchars($title); 

这是离开平原的数据在数据库中,你可能想用它在一个完全不同的上下文中的其他未来一些最佳实践。也就是说,在插入数据库之前,不要逃避数据。只有在输出时才担心。