我正在处理一个非常大的项目,并且需要将很多FoxPro转换为C#。我正在编写一个工具来帮助我转换大部分代码(我始终会查找/替换),决不会将它用作修补程序。我试图完成的是在输入textarea(例如“Else”)中的FoxPro中的常见单词将替换为C#/ Javascript对应(“} else {”),并且新转换的代码块将会显示在输出textarea中。所以我创建的替代者名单:替换textarea中的特定单词并突出显示更改?
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);
});
奖励积分我们能否也突出了输入和输出的改变的话(我明白,我们不能在文字区域突出,所以也许让这个DIV代替)? http://jsfiddle.net/aa72vg2c/10/
这对我来说非常好,谢谢。为了进一步阐述,我们可以根据类别对亮点进行颜色编码吗? http://jsfiddle.net/4su60eLm/3/ – triplethreat77 2014-11-25 15:29:11
像是一个数组和每个类别的语句? http://jsfiddle.net/4su60eLm/4/ – triplethreat77 2014-11-25 15:32:48
当然。我分叉你的小提琴,并简单地将'array'更改为'values','syntax'和'db':http://jsfiddle.net/Lfeo08da/ – 2014-11-25 15:42:45