• 17-03-2009, 14:02:45
    #1
    Üyeliği durduruldu
    php ile ob komutlarini kullanarak bi rerender sınıfı yapmaya çalışıyorum.

    takıldığım yere gelecek olursak. elimizde her türlü formatta olabilecek bir sayfa var.

    Burdan nasil ki dhtml ile document.getElementById(id) ile objeye erişirsek ayni mantikta birşeyler yapmaya calisiyorum.

    mealen

    düz bir html sayfa var elimizde. doğal olarak sayfada bir çok html tag olabilir <input id="deneme" />
    <select id="deneme4">
    <option value="3">deneme</option>
    </select>
    <hr />
    <div id="deneme2"> </div>
    <form id="deneme3"> </form>

    bu html sayfadan belirli id ile verdigimiz html tagı söküp çıkaracak bir düzenli ifade yazmaya calisiyorum..

    mesela deneme3 olan i yi getir dedigimde <form id="deneme3"> </form> tagı dahil içerisinde ne var ne yok getirmesi lazim

    diğer taraftan mesela deneme4 ü çekmek istersem <select id="deneme4">
    <option value="3">deneme</option>
    </select>

    tümden getirmesi lazim

    böyle bir regex nasil olur sizce
  • 17-03-2009, 14:19:49
    #2
    preg_match_all ile option value 3 'ile form arası almak
    işinizi görmüyormu ki ?
    Yada ben anlamadımmı ?
  • 17-03-2009, 14:22:48
    #3
    Üyeliği durduruldu
    öyle bir regex olamaz. explode ile yapılabilir ancak.
  • 17-03-2009, 14:27:11
    #4
    Üyeliği durduruldu
    Ntie adlı üyeden alıntı: mesajı görüntüle
    preg_match_all ile option value 3 'ile form arası almak
    işinizi görmüyormu ki ?
    Yada ben anlamadımmı ?
    sadece opiton degil üstad. html herhangi bir tag olabilir.sonuçta preg match all yapacagim ama regex kurali nasil birşey olacak tam oturtabilmiş degilim.

    MC_delta_T adlı üyeden alıntı: mesajı görüntüle
    öyle bir regex olamaz. explode ile yapılabilir ancak.
    explode ile daha zor üstad. şöyle düşünüyorumda enterlar bozuyor biraz

    adam mesela input u

    <input type="text" id="deneme" />

    gibi yazabilirken

    <input
    type="text"
    id="deneme" />

    gibide yazabilir.

    explode ile daha zor yani regex ile explode a göre daha kolay ama o da zor soru tümden kazik zaten
  • 17-03-2009, 14:39:32
    #5
    string pattern = @"<div[ \t]*(I|i)d=(""?)(?<id>\w+)(""?)[ \t].*</div>";
                
                Regex regx = new Regex(pattern, RegexOptions.IgnoreCase);
    
                foreach (Match match in regx.Matches(str))
                {                
                    str = str.Replace(match.Value, (string)HttpContext.GetGlobalResourceObject(match.Groups["id"].Value));
                }
    
                Response.Write(str);
    <div id="2"></div>
    Arasıını alır
  • 17-03-2009, 14:50:14
    #6
    Üyeliği durduruldu
    teşekkürler de üstadim tek div degil ki div form input aklina ne geliyorsa yani ondan soru/sorun kazık
  • 17-03-2009, 14:57:04
    #7
    Bu olur sanırım ;
    <?
            	function f($bas, $son, $yazi)		{ @preg_match_all('/' . preg_quote($bas, '/') . '(.*?)'. preg_quote($son, '/').'/i', $yazi, $m);return @$m[1];}?>
    Kullanımı;
    <?
    $gir=file_get_contents("http://www.siteismi.com");
    $al = f('<title>','</title>',$gir);
    			echo $al[0];?>
  • 17-03-2009, 14:57:50
    #8
    div , form , ya da nesne neyse onu da belirterek seçim yapılabilir, yoksa iyice karmaşık olur bu
    ama güzel düşünce, işe yarar bi Class olacaktır
  • 17-03-2009, 15:02:22
    #9
    Farklı birşy denedim çalışmadı.
    sadece form içerisindeki id'leri çekmek gerekiyor o zaman