首頁 > php教程 > PHP开发 > 主體

正規表示式替換html元素屬性的方法

高洛峰
發布: 2016-12-05 10:18:13
原創
1379 人瀏覽過

正则表达式替换任意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
最新問題
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!