如何转义锚标记的 href 中的字符
How do I escape characters in href of anchor tag
我想转义三个字符,这些是
- 单引号 (')
- 双引号 (")
- 反斜杠 ()
我的 href 值是
test.html?key="test' me'"&event=3
我想像在 php
中那样通过调用 addslashes function
来修复它
<a href="test.html?key="test' me'"&event=3">test</a>
注意:我需要一种动态的方式来做到这一点
编码 Url 也许
<a href="test.html?key=%22test'%20me'%22&event=3">test</a>
查看这些 url 编码
已添加:
var $key ="\"test'\"";
var $event = "3";
print '<a href="test.html?key=' . urlencode($key) .'&event=' . urlencode($event) .'">test</a>';
我不完全知道 php 字符串如何转义像 " 这样的特殊字符,但我想 \" 会起作用。
您必须 URL 对您的特殊字符进行编码。
A " 会变成 %22
A ' 会变成 %27
A \ 会变成 %5C
你的主播必须是
test.html?key=%22test%27%20me%27%22&event=3
有关 url 编码的更多信息,请转到 http://www.w3schools.com/tags/ref_urlencode.asp。
获取数据并生成正确编码的查询字符串的 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>
我想转义三个字符,这些是
- 单引号 (')
- 双引号 (")
- 反斜杠 ()
我的 href 值是
test.html?key="test' me'"&event=3
我想像在 php
中那样通过调用 addslashes function
<a href="test.html?key="test' me'"&event=3">test</a>
注意:我需要一种动态的方式来做到这一点
编码 Url 也许
<a href="test.html?key=%22test'%20me'%22&event=3">test</a>
查看这些 url 编码
已添加:
var $key ="\"test'\"";
var $event = "3";
print '<a href="test.html?key=' . urlencode($key) .'&event=' . urlencode($event) .'">test</a>';
我不完全知道 php 字符串如何转义像 " 这样的特殊字符,但我想 \" 会起作用。
您必须 URL 对您的特殊字符进行编码。
A " 会变成 %22
A ' 会变成 %27
A \ 会变成 %5C
你的主播必须是
test.html?key=%22test%27%20me%27%22&event=3
有关 url 编码的更多信息,请转到 http://www.w3schools.com/tags/ref_urlencode.asp。
获取数据并生成正确编码的查询字符串的 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>