W3C错误验证 - 元素a上属性href的错误值:查询中的非法字符:不是URL代码点

时间:2015-02-16 06:15:44

标签: html w3c-validation

我在元素href上获取了属性a的错误值:查询中的非法字符:不是W3C上带有以下a标记的网址代码点:

<a href="/edit_booking.php?requestID=84&amp;moduleID=109&amp;no_rooms=2&amp;parks=Central,East&amp;rooms=1,39&amp;weeks=1,3,5,7,9,11,13,15&amp;day=1&amp;semester=1&amp;start_time=09:00&amp;end_time=10:00&amp;length=1&amp;students=100&amp;type=Lecture&amp;Priority=N&amp;metaID=&amp;comments=Crappy Booking&amp;status=1&amp;round=1&amp;date_submitted=2015-02-16 05:01:17&amp;year=2015/2016&amp;" title="This is a link edit the booking"><i class="fa fa-edit"></i></a>

链接是从PHP生成的;现在,如果不允许使用逗号,我可以进行替换,但我不确定是否允许使用此格式。

我有什么遗失的东西,因为它看起来很好吗?

3 个答案:

答案 0 :(得分:3)

查询字符串中的空格导致错误。在您的示例中,它们显示在两个位置:comments=Crappy Bookingdate_submitted=2015-02-16 05:01:17

根据验证程序的建议,将空格URL编码为%20,允许您的标记验证:

<a href="/edit_booking.php? ... &amp;comments=Crappy%20Booking&amp;status=1&amp;round=1&amp;date_submitted=2015-02-16%2005:01:17&amp;year=2015/2016&amp;" title="This is a link edit the booking"><i class="fa fa-edit"></i></a>

答案 1 :(得分:0)

尝试在href属性中传递您传递的URL的escape()

答案 2 :(得分:0)

使用 PHP StudentWithHomeworkAttendance将为您完成这项工作(百分比编码)。

空格将被编码为rawurlencodeRFC 3986)。