使用JavaScript来striplashes?可能

Rob*_*ght 6 php ajax stripslashes

我正在使用ajax来获取URL.问题是URL中有斜杠,当JQuery加载发生后,它将不会加载页面.

AJAX成功位:

success: function(data) {
 $('#OPTcontentpanel').load(data.OPTpermalink);
Run Code Online (Sandbox Code Playgroud)

PHP

echo json_encode( array('OPTpermalink'=>$OPTpermalink,));
Run Code Online (Sandbox Code Playgroud)

和响应

http:\/\/www.divethegap.com\/update\/options\/padi-open-water\/
Run Code Online (Sandbox Code Playgroud)

所以需要去除斜线.我知道如何在PHP中完成它但不在AJAX JavaScript的.

有任何想法吗?

奇妙

Col*_*der 23

对旧问题的新答案:

String.prototype.stripSlashes = function(){
    return this.replace(/\\(.)/mg, "$1");
}
Run Code Online (Sandbox Code Playgroud)

使用示例:

var str = "You\'re slashed \/\\..\/\\"; // Text from server
str = str.stripSlashes() ;
Run Code Online (Sandbox Code Playgroud)

输出:

You're slashed /\../\
Run Code Online (Sandbox Code Playgroud)


cod*_*lla 6

这是一个老帖子,但我想我会添加我的答案,似乎比其他答案更有效:

var url = "http:\/\/www.divethegap.com\/update\/options\/padi-open-water\/"

var res = url.replace(new RegExp("\\\\", "g"), "");
Run Code Online (Sandbox Code Playgroud)

这将替换所有出现的反斜杠字符.


Bil*_*oon 5

php的许多核心功能都有很好的端口,包括stripslashes:http://phpjs.org/functions/stripslashes/

function stripslashes (str) {
  // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
  // +   improved by: Ates Goral (http://magnetiq.com)
  // +      fixed by: Mick@el
  // +   improved by: marrtins
  // +   bugfixed by: Onno Marsman
  // +   improved by: rezna
  // +   input by: Rick Waldron
  // +   reimplemented by: Brett Zamir (http://brett-zamir.me)
  // +   input by: Brant Messenger (http://www.brantmessenger.com/)
  // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
  // *     example 1: stripslashes('Kevin\'s code');
  // *     returns 1: "Kevin's code"
  // *     example 2: stripslashes('Kevin\\\'s code');
  // *     returns 2: "Kevin\'s code"
  return (str + '').replace(/\\(.?)/g, function (s, n1) {
    switch (n1) {
    case '\\':
      return '\\';
    case '0':
      return '\u0000';
    case '':
      return '';
    default:
      return n1;
    }
  });
}
Run Code Online (Sandbox Code Playgroud)


Pek*_*ica 3

您正在发送 JSON,但将其直接插入到 HTML 元素中。这是不明智的,可能会产生破坏性的结果,而且可能不是您最初想要做的。

你也许应该

  • 更改 PHP 脚本的输出以创建正确的 HTML

  • 在 JavaScript 端期望 JSON(使用 jQuery 的dataType参数或简写$.json(),并解析它)