0

我有一个文本,里面有 %text% 这样的模式。如何在 javascript 中获取此模式以将它们包装在跨度中并更改颜色?

谢谢!

4

3 回答 3

2
var str = 'Some text with patterns like %text% inside.';

str = str.replace( /%([^%]+)%/g, '<span style="color: blue">$1</span>' );    
// Some text with patterns like <span style="color: blue">text</span> inside.
于 2013-02-26T17:49:23.193 回答
0

如果%s 之间的模式总是纯文本(不包括空格等),你可以这样做:

text = text.replace(/%\w*%/g, function (txt) {
    return '<span style="color: red">' + txt.substring(1, txt.length-1) + '</span>';
});

虽然 MikeM 的匹配模式远远领先于我,但我留下这个答案来展示,你如何也可以使用函数来操作匹配的字符串,甚至完成一些其他的事情,这取决于匹配。

于 2013-02-26T17:29:43.013 回答
0

使用正则表达式

if (String.match(/text/gi)) {
    //wrap span around String and change color of CSS
}
于 2013-02-26T17:26:30.443 回答