javascript - 使用 Jade 格式化 Javascript 子字符串

标签 javascript string pug

我有一个 javascript 字符串,我需要按字符串中写入的格式类型进行拆分,以便我可以在 jade 中输出粗体和斜体文本,这样

"Hello {b World b}{i and everyone i} else! And {i hello to you i}. 1 < 5."

会输出:

你好世界 还有大家!还有你好。 1 < 5

该字符串以任何顺序包含不确定数量的这些标签 (0+),但我只关心“i”和“b”标签。我尝试了一个简单的 string.replace 并尝试注入(inject) html:

- line = line.replace("{b ", "<b>");
- line = line.replace(" b}", "</b>");
- line = line.replace("{i ", "<i>");
- line = line.replace(" i}", "</i>");
| #{line}

但是 jade 模板试图变得聪明并输出:

"Hello <b>World</b><i>and everyone</i> else! And <i>hello to you</i>. 1 < 5"

因为它将每个转换为

&lt; and &gt;

注意字符串里面可能包含<或者>。我完全卡住了。

最佳答案

来自GitHub README

我们还可以利用未转义的变体 !{html},因此以下内容将生成文字脚本标签:

- var html = "<script></script>"
| !{html}

关于javascript - 使用 Jade 格式化 Javascript 子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17223740/

相关文章:

javascript - 如何填充和规范化可变长度数组

Javascript setter 返回值而无需验证

php - 查找并计算字符串中的字符串,然后显示计数最高的字符串

dynamic - Jade : how does one assign the 'checked' attribute to dynamically generated radio button inputs?

javascript - 为什么当我使用输入类型数字并且我也使用正则表达式模式 ="[0-9\/]*"时 e 字符正在工作任何解决方案

javascript - 如何在表示矩形的数组中获取与某个索引成对 Angular 线的元素

javascript - react native 后退按钮缺少图标

c - 读取系统调用不检测文件结束

PHP 如何根据字符串内容将字符串列表(数组)转换为嵌套数组

node.js - 渲染页面时不添加样式