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

Sk4*_*446 1 javascript regex replace

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

我正在尝试做的是javascript替换!图像!用一个实际的HTML:

<img src="./images/the_image.png" class="image">
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

anu*_*ava 5

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

所以固定的陈述是:

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