正则替换html img中的style width和height

推荐一个正则匹配的网站 https://regex101.com/

let str =
  '有四只小动物排成一排,摄影师给相邻的两只小动物拍了下面三张照片。
​( )排在最左边,( )排在最右边。'
; // 使用正则表达式匹配style中的width样式,并将大于375的部分替换为375px let result = str.replace( /(]*style="[^"]*?)(\bwidth\s*:\s*\d+[^;"]*?px;)(\s?height\s*:\s*\d+[^;"]*?px;)([^<]*\/>)/gi, function (match, p1, p2, p3, p4) { console.log(" ~ file: test.js:8 ~ p4:", p4); console.log(" ~ file: test.js:8 ~ p3:", p3); console.log(" ~ file: test.js:8 ~ p2:", p2); console.log(" ~ file: test.js:8 ~ p1:", p1); console.log(" ~ file: test.js:8 ~ match:", match); let widthValue = parseInt(p2.match(/\d+/)[0]); let heightValue = parseInt(p3.match(/\d+/)[0]); if (widthValue > 375) { return p1 + "width: 375px; height: auto;" + p4; } return match; // 如果width小于等于375,则不做替换,保持原样 } ); console.log(" ~ file: test.js:20 ~ result:", result);

你可能感兴趣的:(随笔,html,前端,javascript)