转义 2017-03-30 得到 7-03-30 Javascript
Escaping 2017-03-30 gives 7-03-30 Javascript
我正在尝试输出当前页面 URL 以供 Disqus 评论。由于我的页面 URL 结构如下:
https://www.example.com/post/1234/2017-03-30/
我在转义 2017-03-30 时遇到了一点问题。
不知道以前有没有人问过这个问题,我试着寻找合理的答案,但没有找到。我试图逃避日期,因为像 2017-03-30 一样包含它只会减去它。
这是输出 Javascript:
的 PHP 代码
echo 'this.page.url = "https://www.example.com/post/'. $id . '/\'. $date . '\/";';
尽管输出将是:
this.page.url = "https://www.example.com/post/1234/17-03-30\/";
但问题是 Disqus 会显示 URL 如:
https://www.example.com/post/1234/7-03-30
我知道问题出在 \201 上,但我不知道如何解决它。我尝试了不同的方法。似乎没有任何效果。我在这里几乎迷路了。 :/
在 JavaScript 字符串中,1
是一个八进制转义,为您提供字符 U+0081
,这是一个未使用的控制字符,因此不会显示。
如果确实需要反斜杠,您需要对其进行两次转义,以便生成的 JavaScript 看起来像 \2017-03-30\
,因此 PHP 需要是 \\'.$date.'\\
不过,当你看到这么多反斜杠时,这肯定表明你做错了什么。
我正在尝试输出当前页面 URL 以供 Disqus 评论。由于我的页面 URL 结构如下:
https://www.example.com/post/1234/2017-03-30/
我在转义 2017-03-30 时遇到了一点问题。
不知道以前有没有人问过这个问题,我试着寻找合理的答案,但没有找到。我试图逃避日期,因为像 2017-03-30 一样包含它只会减去它。
这是输出 Javascript:
的 PHP 代码echo 'this.page.url = "https://www.example.com/post/'. $id . '/\'. $date . '\/";';
尽管输出将是:
this.page.url = "https://www.example.com/post/1234/17-03-30\/";
但问题是 Disqus 会显示 URL 如:
https://www.example.com/post/1234/7-03-30
我知道问题出在 \201 上,但我不知道如何解决它。我尝试了不同的方法。似乎没有任何效果。我在这里几乎迷路了。 :/
在 JavaScript 字符串中,1
是一个八进制转义,为您提供字符 U+0081
,这是一个未使用的控制字符,因此不会显示。
如果确实需要反斜杠,您需要对其进行两次转义,以便生成的 JavaScript 看起来像 \2017-03-30\
,因此 PHP 需要是 \\'.$date.'\\
不过,当你看到这么多反斜杠时,这肯定表明你做错了什么。