当我的HTML将一些奇怪的字符视为空格时,会生成此错误。
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
</head>
<body>
<p>Some
Text</p>
</body>
</html>
&#13;
请注意,Some
和Text
之间有一个字符,但此处未显示。我需要将它传递给函数toJson(),但它返回一个错误unterminated string literal
。
当我使用简单的文本而不是这样时,一切正常:
Some<space>Text
效果很好。
我已经尝试了搜索相同内容时找到的所有str_replace函数 -
1) var re = /(?![\x00-\x7F]|[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3})./g;
params.body_html = html.replace(re, '');
angular.toJson(params); // gives error
2) params.body_html.replace(/\uFFFD/g, '');
angular.toJson(params); // gives error
我不知道这是什么角色(可能是unicode)。当我将其复制到emacs文件时,它被视为�
。
注意:编辑此问题时,您会将此字符视为红点,并点击上面的html edit the snippet
。
关于如何使这项工作的任何提示/想法?
答案 0 :(得分:0)
使用了这个:
params.body_html = params.body_html.replace(/\u2028/g, '');
angular.toJson(params); //works fine.
感谢@Gothdo提供角色链接。
但问题是它只会在html只有这个特定的unicode字符时才会被替换。是否有任何函数可以替换或修剪所有unicode字符?