【问题标题】:Replace ../IMG/xEPI_STOPPED_TOT.gif with <img src="">将 ../IMG/xEPI_STOPPED_TOT.gif 替换为 <img src="">
【发布时间】:2015-02-11 08:10:41
【问题描述】:

我想用 javascript 替换带有 img 标签的字符串中的所有图像路径。我需要一个 reg exp 还是脚本?

图像名称和分机在我的字符串中可以不同。换句话说,我有不同的图像。

将 ../IMG/epi.gif 替换为

<img src="img/epi.gif">

初始字符串

“这张图../IMG/epi.gif和这张图../IMG/secondImage.jpg不好”

需要的结果是

'This image <img src="img/epi.gif"/> and this image <img src="img/secondImage.jpg"/> are not good'

【问题讨论】:

  • 图片路径小写是故意的吗?
  • 是的,而且 ../ 也不见了
  • 顺便说一下,所有图片都以 ../IMG 开头,并以扩展名 .gif 或 .jpg ...

标签: javascript regex replace


【解决方案1】:

试试这个:

更新

var img = 'This image ../IMG/epi.gif and this image ../IMG/secondImage.jpg are not good';
var newImg = img.replace(/\.\.\/IMG\/([^\.]+)(\.jpg|\.gif)/gi, '<img src="img/$1$2">');
alert (newImg);

【讨论】:

  • 对不起,我试过了,这个字符串仍然不起作用“这张图片 ../IMG/epi.gif 和这张图片 ../IMG/secondImage.jpg 不好”
【解决方案2】:

var img = '../IMG/xEPI_STOPPED_TOT.gif';
var newImg = img.replace(/\.\.\/IMG\/(.*)/, '<img src="img/$1">');
alert (newImg);

【讨论】:

  • 什么?它匹配 ../IMG/ 之后的任何内容
  • 对不起。太早了。我去喝杯咖啡
  • 我还没有完全离开。在字符串asdfasdf asdfasdf asdfasdf ../IMG/xEPI_STOPPED_TOT.gif asdf 上试一试。您将在末尾捕获 `asdf`,因此您需要文件扩展名作为分隔符。
  • 当然,但这些细节并未包含在问题中。如果他想要/需要更精细的正则表达式,他需要更好地理解输入数据。
  • 呃。太晚了。需要上床睡觉。我本可以在 5 秒内添加扩展检查,而不是争论它。
猜你喜欢
  • 2014-05-07
  • 1970-01-01
  • 2016-03-09
  • 2017-01-10
  • 1970-01-01
  • 2016-06-03
  • 2019-04-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多