在DataTable中,我从Django视图中获取文本,然后将其发送到自定义书面JS替换功能,以用我们的本地语言字母替换某些字符。完美地使用单行,但是当用户按Enter在"内部消息"中的输入时,它给出了意外的EOF。这是代码
html
{% for comment in comments %}
<tr>
<td> {{ comment.id }} </td>
<td> {{ comment.req_id }} </td>
<td> {{ comment.ans_id }} </td>
<td> <script>document.write(replace("{{ comment.comment_text }}"));</script> </td>
</tr>
{% endfor %}
错误img
JS
function replace(x) {
var text = String(x);
var lines = text.split("n");
var returnedText="";
for(i=0;i<lines.length;i++){
returnedText += lines[i].toString().allReplace({'É™': 'ə', 'ı': 'ı', 'ö': 'ö', 'ü': 'ü','ç': 'ç','Ä°': 'İ','ÄŸ': 'ğ','ÅŸ': 'ş', 'Æ': 'Ə','Åž': 'Ş'});
returnedText += "n";
}
return returnedText;
}
String.prototype.allReplace = function(obj) {
var retStr = this;
for (var x in obj) {
retStr = retStr.replace(new RegExp(x, 'g'), obj[x]);
}
return retStr;
};
,而不是将字符串发送到JS,而是使用自定义标签
更值得<td><script>document.write(replace("{{ comment.comment_text }}"));</script></td>
可以替换为: <td>{{comment.comment_text|convert_utf8 }}</td>
convert_utf8功能
@register.filter(name='convert_utf8')
def convert_utf8(value):
return value.replace(unichr(198),unichr(399)).replace......#several replace