我想要转义这三个字符
我的href值是
test.html?key="test' me'"&event=3
我想通过调用php
addslashes function
中那样修复它
<a href="test.html?key="test' me'"&event=3">test</a>
注意:我需要一种动态的方法
答案 0 :(得分:3)
用于获取数据并生成正确编码的查询字符串的PHP函数是http_build_query
。然后,您可以将其放入URL中,然后使用htmlspecialchars
对其进行编码,以将其插入文档中。
<?php
$base = "test.html";
$query_data = Array(
"key" => "\"test' me'\"",
"event" => 3
);
$url = $base . "?" . http_build_query($query_data);
$html_safe_url = htmlspecialchars($url);
?>
<a href="<?= $html_safe_url ?>">test</a>
答案 1 :(得分:1)
您必须对特殊字符进行URL编码。
A“将成为%22
A'将成为%27
A \将成为%5C
你的主播必须是
test.html?key=%22test%27%20me%27%22&event=3
有关网址编码的详细信息,请转至http://www.w3schools.com/tags/ref_urlencode.asp。
答案 2 :(得分:0)
可能会对网址进行编码
<a href="test.html?key=%22test'%20me'%22&event=3">test</a>
查看这些网址编码
<强>增加:强>
var $key ="\"test'\"";
var $event = "3";
print '<a href="test.html?key=' . urlencode($key) .'&event=' . urlencode($event) .'">test</a>';
我不知道php字符串是如何逃避特殊字符的,但“我猜想”会起作用。