使所有单词斜体的实例变为斜体

时间:2013-09-23 16:42:55

标签: javascript jquery html css expressionengine

我正在使用expressionengine作为CMS,在页面加载后,我需要找到'arbesthealth'并使其成为* * best * health,这将是最好的方法吗? Jquery文件准备好了吗?可以用CSS完成吗?

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

2 个答案:

答案 0 :(得分:1)

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

但是,处理文本节点并根据需要插入strong元素的简单递归函数并不困难。 My answer to this other SO question显示了如何执行此操作,遍历文本节点并使用Text#splitText将其拆分并插入元素。听起来比工作更多。

答案 1 :(得分:1)

将标签包裹在单词中:

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

请参阅FIDDLE

我添加了 .content ,但你可以在cms容器的任何地方添加


*的 更新 *

如上所述,这将影响所有,所以让我们试试这个方法:

html().replace

SPECIFIC FIDDLE