HTML 解析。要指定一个任意的字符串, 必须将其放在双引号中,并用 htmlspecialchars()处理整个值。(推荐学习:PHP视频教程)
URL:URL 由几部分组成。如果希望自己的数据被当作其中一项来解释, 必须用 urlencode()对其编码。
隐藏的 HTML 表单单元
<?php echo "<input type='hidden' value='" . htmlspecialchars($data) . "' />\n"; ?>
Note:
用 urlencode()来处理 $data是错误的,因为是浏览器的责任来 urlencode()数据。所有流行的浏览器都能正确处理。注意不论何种方法(例如 GET 或 POST)都会这样。不过只会在用 GET 请求时注意到这一点,因为 POST 请求通常是隐藏的。
等待用户编辑的数据
<?php echo "<textarea name='mydata'>\n"; echo htmlspecialchars($data)."\n"; echo "</textarea>"; ?>
Note:
数据会按照预期的显示在浏览器中,因为浏览器会解释 HTML 转义符号。 当提交时,不论是 GET 或者 POST 方法,数据都会被浏览器进行 urlencode 来传输,并直接被 PHP urldecode。所以最终不需要自己处理任何 urlencoding/urldecoding,全都是自动处理的。
URL 中的例子
<?php echo "<a href='" . htmlspecialchars("/nextpage.php?stage=23&data=" . urlencode($data)) . "'>\n"; ?>
Note:
事实上这在编造一个 HTML 的 GET 请求,因此需要手工对数据进行 urlencode()。