【发布时间】:2015-01-23 14:13:30
【问题描述】:
我正在处理一个非常大的项目,并且必须将大量 FoxPro 转换为 C#。我正在整理一个工具来帮助我转换大部分代码(我一直在查找/替换),我绝不会将它用作修复所有代码。我想要完成的是输入文本区域中 FoxPro 中的一个常用词(例如“Else”)将被替换为它的 C#/Javascript 对应项(“} else {”),并且新转换的代码块将是显示在输出文本区域中。所以我正在创建一个替换列表:
var replacements = [
["?thisform.", "@"],
["Else", "} else {"],
["*--", "//"]
];
对于在输入文本区域中找到的每个第一个单词,替换为第二个单词并将整个块粘贴到输出中。我在小提琴中有一些适度工作的例子。
$('#convert').click(function(){
var input = $('#codeinput').val();
replacements.forEach(function(pair) {
converted = input.split(pair[0]).join(pair[1]);
});
//var converted = $("#codeinput").val()
//.replace("?thisform.", "@");
// and paste final output
$('#codeoutput').val(converted);
});
奖励积分我们是否也可以在输入和输出中突出显示更改的单词(我知道我们无法在 textareas 中突出显示,所以可以将其设为 div)? http://jsfiddle.net/aa72vg2c/10/
【问题讨论】:
标签: javascript jquery replace split highlight