转义href

时间:2018-07-30 09:03:59

标签: php html

如何正确地在html锚标记链接中正确转义href,并且仍然能够检索通过url发送的数据,以用于下一页。 我的代码如下:

<a href='course.php?id=".encrypt($courseid)."'>".$result->row('title')."</a>

1 个答案:

答案 0 :(得分:2)

您需要对值进行URL编码以保留URL语法,并且由于您将该URL放入HTML中,因此您也应该对其进行HTML编码:

printf('<a href="course.php?id=%s">%s</a>',
       htmlspecialchars(rawurlencode($courseid)),
       htmlspecialchars($result->row('title')));

请参见http://php.net/htmlspecialcharshttp://php.net/rawurlencodehttp://php.net/printf

另一方面,该值将在$_GET['id']中可用(您无需在那里进行任何解码)。