我正在制作我的第一个Meteor应用程序 - 正则表达式匹配器是我正在制作的第一个组件。它将通过用span标记包围匹配来突出显示可编辑字符串中的匹配项。
我想出了如何在vanilla JavaScript中围绕匹配创建标记: http://jsbin.com/iXUVUJA/1/
但是我将其添加到Meteor模板中的方式,标签正在浏览器中显示。有没有办法在浏览器中将标签读作html?
以下是我的.js文件中的相关代码:
var str = "There are thousands and thousands of uses for corn... All of which I will tell you about right now.";
var regEx = /[A-Z]/g;
if (Meteor.isClient) {
Template.sampleText.someText = function() {
return str.replace(regEx, ("span class='highlighted'>" + "$&" + "</span>") );
};
}
以下是我的.html文件中的相关代码:
<template name="sampleText">
{{someText}}
</template>
这是服务器页面上的输出:
span class ='highlight'&gt;有成千上万的玉米用途... span class ='highlight'&gt;所有这些都涵盖class ='highlight'&gt;我现在就告诉你。
答案 0 :(得分:0)
您可以使用Handlebars.SafeString
,如句柄documentation中所示。在你的情况下,你可以这样做:
if (Meteor.isClient) {
Template.sampleText.someText = function() {
var element = str.replace(regEx, ("span class='highlighted'>" + "$&" + "</span>") );
return new Handlebars.SafeString(element);
};
}