>  기사  >  php教程  >  html 요소 속성을 정규식으로 바꾸는 방법

html 요소 속성을 정규식으로 바꾸는 방법

高洛峰
高洛峰원래의
2016-12-05 10:18:131443검색

正则表达式替换任意html元素任意属性,或增加任意属性。

/**
 * 替换html中任意tag内任意attr值
 * @param src_str
 * @param tag
 * @param attr
 * @param val
 * @returns {*}
 */
replace_html_tag_attr: function(src_str, tag, attr, val) {
  if(typeof src_str === 'undefined' || typeof tag === 'undefined' || typeof attr === 'undefined' || typeof val === 'undefined') {
    return '';
  }
 
  var reg = new RegExp(&#39;<&#39; + tag + &#39;[^>]*(&#39; + attr + &#39;=[\&#39;\"](\\w*%?)[\&#39;\"])?[^>]*>&#39;, &#39;gi&#39;);
  return src_str.replace(reg, function (match) {
    if(match.indexOf(attr) > 0) {
      //包含attr属性,替换attr
      var sub_reg = new RegExp(attr + &#39;=[\&#39;\"](\\w*%?)[\&#39;\"]&#39;, &#39;gi&#39;);
      return match.replace(sub_reg, attr +&#39;=&#39; + val);
    }else{
      //不包含attr属性,添加attr
      return match.substr(0, tag.length + 1) + &#39; &#39; + attr + &#39;=&#39; + val + &#39; &#39; + match.substr(tag.length + 2, match.length);
    }
  });
}

以上这篇正则表达式替换html元素属性的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持php中文网。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.