Как закодировать URL в виде строки JavaScript в сгенерированном PHP HTML? - PullRequest
2 голосов
/ 06 октября 2009

Учитывая этот код PHP:

<a onclick="javascript:window.location.href='<?php echo $url;?>'"

Что если в $ url есть '?

Я пытался использовать json_encode($url), но он не сможет с этим справиться.

1 Ответ

3 голосов
/ 06 октября 2009

json_encode будет работать. Вы просто должны использовать это правильно:

<a onclick="javascript:window.location.href=<?php echo htmlspecialchars(json_encode($url)); ?>">

Это будет работать, так как json_encode уже возвращает выражение JavaScript с кавычками. И htmlspecialchars необходим для экранирования возможных метасимволов HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...