0

我将表达式引擎用作 CMS,加载页面后,我需要找到“arbesthealth”并使其成为 ar*best*health,最好的方法是什么?文件准备好后的Jquery?可以用 CSS 完成吗?

注意:我不能在 cms 端执行此操作,因为 EE 不允许在标题字段内添加标签,因此需要在输出时完成。我想我可以用 php 中的 substr 来做到这一点,但我只是对其他可能的方式感到好奇。

4

2 回答 2

1

简单的解决方案是操作innerHTML(直接或通过 jQuery 的html函数),但这会破坏并重新创建所有元素,这并不理想——尤其是因为附加到它们的任何事件处理程序都将被删除。

但是一个简单的递归函数处理文本节点并strong根据需要插入元素并不困难。我对另一个 SO 问题的回答显示了如何做到这一点,遍历文本节点并使用Text#splitText将它们拆分并插入元素。听起来工作量比实际多得多。

于 2013-09-23T16:54:38.107 回答
1

像这样在单词中包裹一个标签:

$('.content').wrapInTag({
    words: ['best'],
    tag: '<span>'
});

小提琴

我添加了.content但您可以在 cms 有容器的任何地方添加它


*更新*

如前所述,这将影响一切,所以让我们试试这个方法:

html().replace

特定的小提琴

于 2013-09-23T16:59:39.843 回答