我有一个文本,里面有 %text% 这样的模式。如何在 javascript 中获取此模式以将它们包装在跨度中并更改颜色?
谢谢!
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.
如果%
s 之间的模式总是纯文本(不包括空格等),你可以这样做:
text = text.replace(/%\w*%/g, function (txt) {
return '<span style="color: red">' + txt.substring(1, txt.length-1) + '</span>';
});
虽然 MikeM 的匹配模式远远领先于我,但我留下这个答案来展示,你如何也可以使用函数来操作匹配的字符串,甚至完成一些其他的事情,这取决于匹配。
使用正则表达式
if (String.match(/text/gi)) {
//wrap span around String and change color of CSS
}