Как я могу избежать символов в href тега привязки
Я хочу убежать от трех персонажей, это
- одиночная кавычка (')
- двойная кавычка (")
- обратная косая черта ()
мое значение hreftest.html?key="test' me'"&event=3
Я хочу исправить это, как мы делаем в php
позвонив addslashes function
<a href="test.html?key="test' me'"&event=3">test</a>
ПРИМЕЧАНИЕ: мне нужен динамический способ сделать это
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>
Вы должны URL кодировать свои специальные символы.
А "станет%22
А 'станет% 27
A \ станет%5C
Ваш якорь должен быть
test.html?key=%22test%27%20me%27%22&event=3
Для получения дополнительной информации о кодировании URL перейдите по http://www.w3schools.com/tags/ref_urlencode.asp.
Возможно, закодировать URL
<a href="test.html?key=%22test'%20me'%22&event=3">test</a>
Проверьте эти URL-кодировки в w3schools
ДОБАВЛЕНО: var $key ="\"test'\"";
var $event = "3";
print '<a href="test.html?key=' . urlencode($key) .'&event=' . urlencode($event) .'">test</a>';
Я точно не знаю, как php-строки экранируют специальные символы, такие как "но я полагаю, \" будет работать.