我们数学论坛上的许多用户使用插入符号输入n 次方,例如。x^(4y)
我们想替换插入符号并使用上标,将数字和变量包装在插入符号之后。所以 x^(4y) 变成 x (4y)。
规则:
- 如果插入符号后面没有括号,则只为下一个字符上标。
- 如果有左括号,则上标直到右括号。
这是一个带有不同插入符号版本的帖子。
当然,我们可以使用许多 js 库,但难道不能用 jquery 来完成这个单一的文本转换任务吗?
有没有人已经建立了类似的东西?
谢谢你。
我们数学论坛上的许多用户使用插入符号输入n 次方,例如。x^(4y)
我们想替换插入符号并使用上标,将数字和变量包装在插入符号之后。所以 x^(4y) 变成 x (4y)。
规则:
这是一个带有不同插入符号版本的帖子。
当然,我们可以使用许多 js 库,但难道不能用 jquery 来完成这个单一的文本转换任务吗?
有没有人已经建立了类似的东西?
谢谢你。
我认为这不是 jQuery 的工作。使用纯 javascript 遍历文本,虽然很冗长,但可能是最好的方法:
function superify(input) {
if(!input) return input;
var output = [];
var buffer;
for(var i=0;i<input.length;i++) {
var current = input[i];
if(buffer) {
if(current === ')') {
buffer.push('</sup>');
output.push.apply(output, buffer);
buffer = null;
} else {
buffer.push(current);
}
}
else if(current === '^') {
var next = input[++i];
if(next === '(') {
buffer = ['<sup>'];
} else {
output.push.apply(output, ['<sup>', next, '</sup>']);
}
} else {
output.push(current);
}
}
return output.join('');
}
(代码没有经过很好的测试。通过几个例子运行它,它似乎有效)