abcdefghjklm

Page 3 of 7 Previous  1, 2, 3, 4, 5, 6, 7  Next

View previous topic View next topic Go down

Re: abcdefghjklm

Post by Admin on Wed Feb 18, 2015 11:15 am

Code:
abcde
View user profile


http://gskvn.forumvi.com
Admin
Admin

Badge : 1,2,3,5,7
Postsx : 250
Points : 361
Reputation : 10
Join date : 2015-01-01

Back to top Go down

Re: abcdefghjklm

Post by Admin on Wed Feb 18, 2015 11:25 am

Code:
/*
Các hàm
expando: nothing
bbcodes: array, nothing
basics: array, nothing
attrReg: RegExp
parseTag: 3 biến
swapReplacers: 3 biến
parse: 1 biến
add: 2 biến
add swap: 2 biến
*/
(function()
{
   var
      h=
      {
      expando:"{LGBB:"+(new Date).getMilliseconds()+"}", //Lấy thời gian theo mili giây
      bbcodes:{},
      basics:[],
      attrReg:/([\w-]+)=("|'|)(.*?)\2(?=[\s\]])/g, //Nhận diện attribute
      parseTag: function(a,b,c)
         {
            for
               (
                  var
                     d=b.insensitive?"i":"",
                     e="\\["+b.tag+"[^\\]]*?\\]", //Tag mở
                     k="\\[\\/"+b.tag+"\\]", //Tag đóng
                     d=c?RegExp("("+e+")(?!.*"+e+")((?:.|[\\r\\n])*?)"+k,d):RegExp(e,d),
                     l=[];
                     
                     d.test(a);
               )
               a=a.replace(d,function(a,d,e)
                  {
                     c||(d=a);
                     var f={},g;
                     for (g in b.defaultAttr) f[g]=b.defaultAttr[g];
                     d=h.attrReg.test(d)?d.match(h.attrReg):[];
                     if (d.length) for
                        (var k=0;g=d[k++];)
                        (a=/([\w-]+)=['"]?(.*?)['"]?$/.exec(g))&&a.length&&(a[1]===b.tag&&(a[1]="default"),f[a[1]]=a[2]);
                     if (b.validate&&(c?!b.validate.call(b,e,f):!b.validate.call(b,f))) return l.push(a),h.expando;
                     a=b.replacement;
                     b.replace&&(g=c?b.replace.call(b,e,f):b.replace(f),"string"===typeof g?a=g:g&&"object"===typeof g&&(e=g.content||e,f=g.attr||f,"string"===typeof f&&(f={"default":f})));
                     return h.swapReplacers(a,e,f)
                  });
            for (d=0;e=l[d++];) a=a.replace(h.expando,e);
            return a
         },
      swapReplacers: function(a,b,c)
         {
            if(!a) return"";
            b||(b="");
            c||(c={});
            a=a.replace(/{CONTENT}/g,b);
            for (var d in c) a=a.replace(RegExp("{ATTR-"+d.toUpperCase()+"}","g"),c[d]);
            c["default"]&&(a=a.replace(/{ATTR}/g,c["default"]));
            return a.replace(/{ATTR(-[A-Z-]+)?}/g,"")
         },
      parse: function(a)
         {
            var b=h.bbcodes, c=h.basics;
            h.expando="{LGBB:"+(new Date).getMilliseconds()+"}";
            for (var d=0,e;e=c[d++];)
               {
                  var k=e[0];
                  if ("string"===typeof k&&-1===e[1].indexOf(k))
                     for (;-1!==a.indexOf(k);) a=a.replace(k,e[1]);
                     else a=a.replace(k,e[1])
               }
            for (var l in b)
               if (b.hasOwnProperty(l)&&(c=b[l])&&c.replacement&&c.tag)
                  try
                     {
                        a=h.parseTag(a,c,c.close)
                     } catch(m) {console.log("LGBB: Error parsing "+c.tag+" tag.",m)} return a
         },
      add: function(a,b)
         {
            if (!/^\w+$/.test(a)) throw new Exception("Invalid LGBB tag name: "+a);
            b.tag||(b.tag=a);
            b.defaultAttr?"string"===typeof b.defaultAttr&&(b.defaultAttr={"default":b.defaultAttr}):b.defaultAttr={};
            "close" in b||(b.close=!1);
            h.bbcodes[a]=b;
            return this
         },
      addSwap: function(a,b)
         {
            h.basics.push([a,b]);
            return this
         }
      };
   window.LGBB=h
})();
$(function(){
  var p = $('.post .content');   
  for (var i = 0, post; (post = p[ i++ ]); ) //
   {
      var codes = post.getElementsByTagName('code'), store = []; //
      for (var j = 0, c; (c = codes[j++]); ) //j=0, mỗi vòng tăng j thêm 1, cho HTML của c là rỗng
     {
        store.push(c.innerHTML);
        c.innerHTML = '';
      }
      post.innerHTML = LGBB.parse( post.innerHTML ); //Tiến hành dịch
      for(var s, j = 0; (s = store[j]); ) codes[j++].innerHTML = s; //Đưa ra code sau khi dịch
   }
});
Code:
/*
parse
Hàm 1 biến
a=Html / innerHTML
b=bbcode
c=basic
*/
parse: function(a)
         {
            var bbcodes=h.bbcodes, basic=h.basics;
            h.expando="{LGBB:"+(new Date).getMilliseconds()+"}";
            for (var d=0,e;e=basic[d++];) //Lấy từng phần tử trong mảng basic
               {
                  var k=e[0]; //Bắt đầu từ phần tử đầu tiên của mảng basic
                  if ("string"===typeof k&&-1===e[1].indexOf(k))
                     for (;-1!==Html.indexOf(k);) Html=Html.replace(k,e[1]);
                     else Html=Html.replace(k,e[1])
               }
            for (var l in bbcodes)
               if (bbcodes.hasOwnProperty(l)&&(basic=bbcodes[l])&&basic.replacement&&basic.tag)
                  try
                     {
                        Html=h.parseTag(Html,basic,basic.close) //Dịch tag
                     } catch(m) {console.log("LGBB: Error parsing "+basic.tag+" tag.",m)} return Html //Bắt lỗi dịch và trả về Html (a)
         },
View user profile


http://gskvn.forumvi.com
Admin
Admin

Badge : 1,2,3,5,7
Postsx : 250
Points : 361
Reputation : 10
Join date : 2015-01-01

Back to top Go down

Re: abcdefghjklm

Post by Admin on Wed Feb 18, 2015 1:35 pm

Code:
<sound1>
xyz
View user profile


http://gskvn.forumvi.com
Admin
Admin

Badge : 1,2,3,5,7
Postsx : 250
Points : 361
Reputation : 10
Join date : 2015-01-01

Back to top Go down

Re: abcdefghjklm

Post by Admin on Wed Feb 18, 2015 1:42 pm

<sound1>
View user profile


http://gskvn.forumvi.com
Admin
Admin

Badge : 1,2,3,5,7
Postsx : 250
Points : 361
Reputation : 10
Join date : 2015-01-01

Back to top Go down

Re: abcdefghjklm

Post by Admin on Wed Feb 18, 2015 2:08 pm

<sound1>
View user profile


http://gskvn.forumvi.com
Admin
Admin

Badge : 1,2,3,5,7
Postsx : 250
Points : 361
Reputation : 10
Join date : 2015-01-01

Back to top Go down

Re: abcdefghjklm

Post by Sponsored content




Sponsored content


Back to top Go down

Page 3 of 7 Previous  1, 2, 3, 4, 5, 6, 7  Next

View previous topic View next topic Back to top


Permissions in this forum:
You cannot reply to topics in this forum