首页 > php教程 > PHP开发 > 正文

正则表达式替换html元素属性的方法

高洛峰
发布: 2016-12-05 10:18:13
原创
1454 人浏览过

正则表达式替换任意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中文网。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板