繁体   English   中英

检测字符串中的“模式”,并将其<sup>标签</sup>包装<sup>在javascript(角度)中</sup>

[英]Detect “pattern” in a string and wrap it <sup> tags in javascript(angular)

所以基本上我想要实现的是以下内容:

页面上的所有文本均由JSON文件提供。 我有一项服务,可以毫无问题地将其解析并打印到文档中。 现在的问题是,当将此文本写入json时,我对此的控制有限,我需要检测方括号中的任何内容(例如“ This This 2011”),并将其包装在标签中。

如果有人可以在js中为我提供帮助,并且可能对在angularjs世界中实现该方法的最佳方式提出建议,我将不胜感激。(在控制器本身还是服务中?在视图本身中?)

非常感谢T

构建一个过滤器,该过滤器使用方括号标签->具有常规标签的HTML字符串实现转换JS字符串的逻辑。

编写过滤器很容易。 其中的逻辑可能会更复杂,具体取决于您的需求。 编写了过滤器(将其命名为bracketXformer )后,其用法将是:

型号示例:

$scope.pageContent = {
    title: "The Title",
    content: "Bla bla [bla]"
};

模板示例:

<h2>{{ pageContent.title }}</h2>
<p>{{ pageContent.content | bracketXformer }}</p>

还搜索Java中的Markdown实现(例如Showdown )。 如果它与您的用例相匹配,则可以节省您实施过滤器的时间。 如果Markdown适合您,请在此处查找使用Angular指令的方法。

使用正则表达式

var text = 'some text [sup stuff] here';

document.write(text.replace(/\[(.*)\]/g, '<sup>$1</sup>'));

jsfiddle: http : //jsfiddle.net/uH9x2/

暂无
暂无

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

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