Я пытаюсь вывести URL текущей страницы для комментариев Disqus. Поскольку структура URL моей страницы выглядит так:
https://www.example.com/post/1234/2017-03-30/
У меня небольшая проблема с побегом 2017-03-30.
Я не знаю, спрашивалось ли это раньше, я пытался найти разумный ответ, но не смог найти ни одного. Я пытаюсь избежать свидания, так как включение его, например 2017-03-30, только вычтет его.
Это код PHP, который выводит Javascript:
echo 'this.page.url = "https://www.example.com/post/'. $id . '/\\'. $date . '\\/";';
Хотя вывод будет:
this.page.url = "https://www.example.com/post/1234/\2017-03-30\/";
Но проблема в том, что Disqus покажет URL как:
https://www.example.com/post/1234/7-03-30
Я знаю, что проблема с \ 201, но я не знаю, как это исправить. Я пробовал разные способы. Кажется, ничего не работает. Я в значительной степени потерян здесь. : /
В строке JavaScript \201
восьмеричный побег, дающий вам характер U+0081
, который является неиспользованным управляющим символом и поэтому не отображается.
Если обратная косая черта действительно необходима, вам нужно будет дважды экранировать ее, чтобы результирующий JavaScript выглядел следующим образом \\2017-03-30\\
поэтому PHP должен быть \\\\'.$date.'\\\\
Когда вы получаете такое количество обратных слешей, это верный признак того, что вы делаете что-то не так.
Других решений пока нет …