JavaScript中的正则表达式 - 替换Image src属性

red*_*are 6 javascript regex

在JavaScript中,我有一个包含DOM片段的字符串.我如何找到并替换图像的src属性?

我想用新路径替换所有图像的路径,但保留图像名称.并非所有路径都相同,可以来自不同的位置.我的正规表达能力最差.

例如:

Change

   <img src='path/to/image/name.jpg' />

into 

   <img src='newPath/name.jpg' />
Run Code Online (Sandbox Code Playgroud)

gna*_*arf 10

获得了gumbo的答案并添加了一些改进它的东西:

  • 如果输入字符串包含<img>可能具有src属性的标记以外的内容- 这将不再匹配/替换它们.

  • src属性可能使用单引号或双引号.

  • 该测试不区分大小写.

导致:

string.replace(/<img([^>]*)\ssrc=(['"])(?:[^\2\/]*\/)*([^\2]+)\2/gi, "<img$1 src=$2newPath/$3$2");
Run Code Online (Sandbox Code Playgroud)


Gum*_*mbo 7

试试这个:

str.replace(/src='(?:[^'\/]*\/)*([^']+)'/g, "src='newPath/$1'");
Run Code Online (Sandbox Code Playgroud)