1

我有一个远程加载的字符串,字符串里面有很大一部分文本。在部分文本中,有一个标志,基本上是由 excelemation 标记包围的单词“图像”(例如:!图像!) - 将其视为图像的占位符。

我想做的是让javascript替换!image!用一段实际的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 的相关帖子,但没有一个有效(我再次假设是由于符号)。

4

1 回答 1

5
  1. 使用正则表达式分隔符
  2. 不要对正则表达式使用引号
  3. 使用g标志进行全局替换

所以固定的说法是:

theString.replace(/!image!/g, '<img src="./images/the_image.png" class="image">');
于 2013-04-24T15:51:53.097 回答