SyntaxError:由u2028和u2029引起的意外令牌非法


SyntaxError: Unexpected token ILLEGAL caused by u2028 and u2029

我正在发送一个字符串作为一个JavaScript函数的参数:

theJSFunction('say hi dude');

Chrome给了我SyntaxError: Unexpected token ILLEGAL,所以经过研究,我发现以下空白产生错误'u2028'u2029

问题是,发送到函数的字符串是通过PHP打印的,我需要通过PHP打印它(可以使用ajax,但我需要让PHP打印它)。

是否有办法通过PHP或JavaScript删除这些字符?

可以用.replace代替。传递带有g标志的正则表达式将替换所有出现的字符,并且还可以包含'uxxxx字符:

"'u2028'u2029".replace(/'u2028|'u2029/g, "").length; // 0