{% static 'image/27119724.jpg' %}
用 JavaScript,替换成
{% static 'image/27119724.jpg' %}
我试过用
str.replace(/\&#[0-9]*;/g, "'")
但是没成功,不知道错在那了
1
ClericPy 2019-12-12 23:20:02 +08:00
这种 HTML 实体符直接 unescape 一次不就出来了... 而且也不该是 [0-9], 有的实体符不是引号
回到正则 你的表达式是正确的, 用 console.log 可以看到, 所以目测是你用了个什么后端框架, 然后在模板里丢了个字符串, 但是对 unsafe 的字符串, 会被转义, 所以你该做的应该是跳过转义 |
2
Mikewu 2019-12-12 23:33:04 +08:00
```javascript
let str = '{% static 'image/27119724.jpg' %}' str = str.replace(/\&#[0-9]*;/g, "'") console.log('str: ', str) ``` |
3
getlost OP @ClericPy 本来是学习 Django 的,但是还没学会前后台数据传送,所以想着把图片地址数据丢在模板里,然后替换一下,把图片加载出来,结果卡在这了,然后转去看 JavaScript 的内容,想着先弄出来再搞下一步,没想到这个问题好几天都没解决。
我感觉这个正则没对,因为我试过 str.replace(/\&#[0-9]*;/g, "gg") 然后 console.log ,结果没有替换。我去查查你说的跳过转义,谢谢啊 |
6
ClericPy 2019-12-13 00:08:39 +08:00
@getlost #3 我以前用 flask 的 jinja2 模版, {{ var_name | safe }} 这样管道符 safe 来避免转义的, 不过大部分地方都不建议用
随手搜了下, Django 也是, google 搜索关键词 Django template safe https://stackoverflow.com/questions/4056883/when-should-i-use-escape-and-safe-in-djangos-template-system 虽然我用的 doge 搜索 |
7
netnr 2019-12-13 06:35:26 +08:00
'{% static 'image/27119724.jpg' %}'.replace(/&#[0-9]{2};/g,'')
|