用于HTML属性替换/添加的正则表达式

前端之家收集整理的这篇文章主要介绍了用于HTML属性替换/添加的正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找单行正则表达式,它执行以下操作:

给定带有“name”属性HTML标记,我想用自己的属性替换它.如果该标签缺少name属性,我想植入我自己的属性.结果应如下所示:

<IMG name="img1" ...> => <IMG name="myImg1" ...>
<IMG ...> => <IMG name="myImg1" ...>

这可以用单行正则表达式来完成吗?

解决方法

诀窍是匹配每个完整的“attribute = value”对,但只捕获属性名称不是“name”的那些.然后插入您自己的“名称属性以及所有捕获的属性.
s/<IMG
  ((?:\s+(?!name\b)\w+="[^"]+")*)
  (?:\s+name="[^"]+")?
  ((?:\s+(?!name\b)\w+="[^"]+")*)
  >
 /<IMG name="myName"$1$2>
 /xg;

猜你在找的HTML相关文章