繁体   English   中英

如何用html标签替换字符? (丰富的文字)

[英]How can I replace characters with html tag? (enriching text)

Text = "我有这个文本 [b] 并希望这部分加粗 [/b]。"

如何用html 标签替换 [b] 和 [/b]

所以输出是 => 我有这个文本并希望这部分是粗体

我尝试像这样使用 lodash replace 但 eslint 抱怨关闭标签:

let startTag = _.replace(text, '[b]', <strong>);
let endTag= _.replace(startTag, '[/b]', </strong>);

您可以尝试用引号'<strong>'<strong>包裹起来'<strong>' (对于结束标记也是如此)。

 let text = 'foo [b]bar[/b]'; let startTag = _.replace(text, '[b]', '<strong>'); let endTag = _.replace(startTag, '[/b]', '</strong>'); document.write(endTag);
 <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.min.js"></script>

这个标记看起来像BBCode 您可能希望使用现有的 bbcode 解析器而不是构建一个。 (检查您最喜欢的浏览器引擎以找到解决方案,例如Extendible-BBCode-Parserjs-bbcode-parsernode-bbcode ,甚至在 Stack Overflow 上使用 JavaScript/jQuery 将 BBcode 转换为 HTML )。

如果您不想使用 loadash,请执行以下操作。

 var text = "I have this text [b] and want this part to be bold [/b]." var openedTag = text.replace("[b]", "<strong>"); var closedTag = openedTag.replace("[/b]", "</strong>"); document.write(closedTag)

java-script 中最简单的解决方案如下所示:

var str = 'I have this text [b] and want this part to be bold [/b].';
str = str.replace(/\[b\](.*?)\[\/b\]/ig, '<strong>$1</strong>');
console.log(str);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM