用图像替换字符串中的标志,无限次

时间:2013-04-24 15:49:13

标签: javascript regex replace

我有一个远程加载的字符串,字符串内部是很大一部分文本。在文本的部分内容中,有一个标志,基本上是由'excelemation marks'包围的'image'一词(如:!image!) - 将其视为图像的占位符。

我要做的是让javascript替换!图片!用一段实际的HTML:

<img src="./images/the_image.png" class="image">

我知道可以简单地做到这一点:

var theString = 'some string goes here !image!';
theString.replace('!image!', '<img src="./images/the_image.png" class="image">');

但是,这不允许您进行多次替换。

有没有办法在这里替换所有人?我假设正则表达式可能是一个选项,但遗憾的是,由于它在条件中有符号(惊叹号),因此无法确定从哪里开始。

我查看了SO上的相关帖子,但没有一个工作(我再次假设这些符号)。

1 个答案:

答案 0 :(得分:5)

  1. 使用正则表达式分隔符
  2. 请勿使用regex的引用
  3. 使用g标志进行全局替换
  4. 所以固定的陈述是:

    theString.replace(/!image!/g, '<img src="./images/the_image.png" class="image">');