• 05-09-2013, 16:41:12
    #10
    Üyeliği durduruldu
    uysal_rockci adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler,

    var regex satırı , şu şekilde bir hata veriyor ama.



    bir taraftan bende uğraşıyorum
    Karekter hatası veriyor malisef fazla iyi değilim javascript regexte

    normalde senin kodların yerine benim bir işlemimde { } bunların arasını alıyordu.

    O da bu şekildeydi /\{[^\}]+\}/g

    böyle bir şey buldum BBCode tarzı düşündüm

    str = str.replace(/\[(\w+)[^\]]*](.*?)\[\/\1]/g, 'ne_ile değişsin');

    buda diğer BBCODE regexleri

    /\[b\](.*?)\[\/b\]/g,
    /\[i\](.*?)\[\/i\]/g,
    /\[img\](.*?)\[\/img\]/g,
    /\[url\="?(.*?)"?\](.*?)\[\/url\]/g,
    /\[quote](.*?)\[\/quote\]/g,
    /\[list\=(.*?)\](.*?)\[\/list\]/gi,
    /\[list\]([\s\S]*?)\[\/list\]/gi,
    /\[\*\]\s?(.*?)\n/g);

    bu tarzda kendine göre birşey yapabilirsin diye düşünüyorum ? kesinlikle sonuç bu istediğin buna gerçekten inanıyorum olmadı <---m---> yerlerine Gibi şeyler kullanabilirsin. İnşallah çözmüşsündür. İyi çalışmalar dilerim
  • 06-09-2013, 00:21:30
    #11
    tolgatasci adlı üyeden alıntı: mesajı görüntüle
    Karekter hatası veriyor malisef fazla iyi değilim javascript regexte

    normalde senin kodların yerine benim bir işlemimde { } bunların arasını alıyordu.

    O da bu şekildeydi /\{[^\}]+\}/g

    böyle bir şey buldum BBCode tarzı düşündüm

    str = str.replace(/\[(\w+)[^\]]*](.*?)\[\/\1]/g, 'ne_ile değişsin');

    buda diğer BBCODE regexleri

    bu tarzda kendine göre birşey yapabilirsin diye düşünüyorum ? kesinlikle sonuç bu istediğin buna gerçekten inanıyorum olmadı <---m---> yerlerine Gibi şeyler kullanabilirsin. İnşallah çözmüşsündür. İyi çalışmalar dilerim


    yardım için teşekkürler ...
    yazdığınız kalıpları kullanarak birşeyler yaptım oldu bu sefer
    uğraştırdık seni de kusura bakma artık

    başkalarının da işine yarar belki , örnek kodlar aşağıdadır.

    dnm.html :
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <script>
    function str_replace (search, replace, subject, count) {
      var i = 0,
        j = 0,
        temp = '',
        repl = '',
        sl = 0,
        fl = 0,
        f = [].concat(search),
        r = [].concat(replace),
        s = subject,
        ra = Object.prototype.toString.call(r) === '[object Array]',
        sa = Object.prototype.toString.call(s) === '[object Array]';
      s = [].concat(s);
      if (count) {
        this.window[count] = 0;
      }
    
      for (i = 0, sl = s.length; i < sl; i++) {
        if (s[i] === '') {
          continue;
        }
        for (j = 0, fl = f.length; j < fl; j++) {
          temp = s[i] + '';
          repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
          s[i] = (temp).split(f[j]).join(repl);
          if (count && s[i] !== temp) {
            this.window[count] += (temp.length - s[i].length) / f[j].length;
          }
        }
      }
      return sa ? s : s[0];
    }
    
    function buyuk(str){
    	str=str_replace("i","İ",str);
    	str=str_replace("ü","Ü",str);
    	str=str_replace("ö","Ö",str);
    	str=str_replace("ç","Ç",str);
    	str=str_replace("ş","Ş",str);
    	return  str.toUpperCase();
    }
    var str = "yarın ailecek [b] istanbula  [s]gideceğiz. oradan da   [b]türkiyenin [s] kuzeyine   [b]karadenize  [s]doğru  gideceğiz.";
    str = str.replace(/\[b\](.*?)\[s\]/g, buyuk );
    str=str_replace("[B]","",str);
    str=str_replace("[b]","",str);
    str=str_replace("[S]","",str);
    str=str_replace("[s]","",str);
    
    document.write(str);
    </script>
    toUpperCase fonksiyonu kullanınca , türkçe karakterlerde sıkıntı vardı ( ör i->I ,ü->U gibi... )

    ben de str_replace fonksiyonu yardımı ile i->İ , ü->Ü şeklinde dönüştürdüm.
    kolay gelsin herkese, iyi akşamlar.