JS中的多个字符替换 - 如何在同一函数中停止对先前结果的替换

时间:2013-09-27 14:40:29

标签: javascript

我有一个(可能是非常不干净的)脚本,我打算将放入文本字​​段的字母转换为带有相应路径的html图像标记。我知道可能有更简单的方法,例如PHP,但我使用它作为一个实验来进一步熟悉JS / Jquery。我已经克服了一些问题,以达到我现在所处的位置,因为这对我来说是个新的基础。

在某些情况下,字母会有多个与之关联的图像,这些图像将随机选择,因此包含了几行来执行此操作。但这些问题很好,问题在于代码部分将文本字段中的字母替换为构成图像标记的文本和变量。虽然它们可以单独工作,但当我想要转换多个字母时,替换会覆盖先前生成的图像标记中该字母的实例。我可以阻止任何想法吗?我已经尝试改变脚本出现的点,但似乎整个事情有点脆弱,无法创建可行的解决方案。

有问题的代码:

        // replace all instances within variable to generate thumbs
        final_result = result.replace(/a/g, str_start+chosen_folder+"a"+random_variation+str_end)
                             .replace(/e/g, str_start+chosen_folder+"e"+random_variation+str_end);  

JS小提琴:http://jsfiddle.net/N77wZ/

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

只做一次替换:

final_result = result.replace(/a|e/g, str_start+chosen_folder+"$&"+random_variation+str_end);