Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

php ile baska bir php dosyasinin icindeki html attribut larini okuyup degistirmek

merhaba arkadaslar

bir php dosyam var ve bunu ayri bir php dosyasindan okuyup sadece img taglarina bagli olan alt ve title attributlarini okuyup degistirmek istiyorum bunu nasil yapabilirim?
örnek vermek gerekirse, okumak istedigim PHP dosyasinin icerigi su sekilde görünüyor:
                <div id="logo">
					<a href="/index.php" target="_self"><img width="238" height="141" src="/jbs2011/images/pixempty.gif" border="0" alt="<?php echo getWebText('LogoAltText'); ?>" title="<?php echo getWebText('LogoTitleText'); ?>"></a>				
</div>
<div id="link01">
               </div>
                <div id="link02">
                    <a href="javascript:window.print();"><img src="images/pixempty.gif" width="15" height="15" alt="Drucken" title="Drucken" border="0"/></a>
                </div>


ben bu dosyaya ayri bir php den baglanip degisiklikleri yapmak istiyorum, yani sadece alt ve title taglarini degistircem ama nasil ?

tesekkurler kolay gelsin.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • emoty_88 adlı üyenin fotoğrafı
    12 yıl önce yazılmış
    26 cevap - 17 soru
    öncelikle bu sayfa üzerindemi değişiklik yapmak istiyorusun yoksa alt ve title taglarını mı almak istiyorsun

    dataları almak istiyorsan öncelikle

    file_get_contents("sayfanın url si");
    fonksiyonu ile ikinci php sayfasına kodları çağırmalısın sonra


    preg_match_all("#<body(.*?)</body>#is",$ac,$body); 
    fonksiyonu ile sayfandaki isteiğin alanları alıp bir diziye alabilirsin php maualden bu iki fonksiyonu incelersen gayet basit bi şekilde halledebilirsin preg_metch_all fonksiyonu için regular expression kullanman gerek ona ufaktan bakarsan daha sağlıklı olur

    preg_match_all("#alt=\"(.*?)\"#is",$ac,$body); 
    kısmen alt taglarını alır buna ek olarak titleyide eklersen string tarafına aynı dizide ikisinide alıp kullanabilirsin
    • mbayraktar adlı üyenin fotoğrafı mbayraktar
      Merhaba,

      file_get_contents metodu ile sadece verileri okuyabiliyorum ama verileri aldigim yerde degisiklik yapamiyorum.

      content.php adinda bir dosyam var icerigi su sekilde:

      <div> <img alt="logo" title="logo" src="images/none.gif"> </div>
      		<p> <div> <img alt="p tag logo" title="p tag logo" src="images/none.gif"></div></p>


      dosyanin icerigini de bu php dosyasi ile cekmek istiyorum -> okuveyaz.php bunun icerigi de bu sekilde:

      $homepage = file_get_contents('content.html');

      preg_match_all('/<img[^>]+>/i',$homepage, $result);
      echo ($result[0][1]);

      yukarida ki örnekte verileri content.php dosyasindan okuyor ama content.php nin icinde degisiklik yapmamiyorum, sanirim dosyayi fread yada feof metoduyla acmak gerekiyor. file_get_contents ile hic bir örnek bulamadim dosyaya yazabilmek icin.

      @emoty_88 sizin vermis oldugunuz örnekte oldukca faydali ve fonsiyonu inceledim ama malesef daha ileriye gidemedim.
      12 yıl önce yazılmış
    • emoty_88 adlı üyenin fotoğrafı emoty_88
      neden başka bir sayfa içerisinde değişiklik yapmak istiyorsun ben content.php adlı dosyadan sadece verileri alıp okuveyaz.php dosyasında o verileri kullanacağını düşünmüştüm

      eğer bir dosya üzerinde değişiklik yapmak istiyorsan onu seninde söylediğin gibi fopen() ile açmalısın değişiklikleri yapıp dosyayı kapatmalısın burda dikkat etmen gerekn konu

      dosyayı açma şekli fopen "w", "a", "r" gibi parametreler alır ve bu parametrelere göre açrığı dosyanın içindeki veriyi boşaltıp en baştan yazmaya başlar yada dosyanın sonuna yazmaya devam eder gibi

      bence burda yapılacak en mantıklı işlem dosya içindeki bir string e atıp değişiklikleri strreplace ile yaptıktan sonra yeniden yazmak php dosya işlemleri olarak aratırsan çok fazla veriye ulaşabilirsin

      diğer yandan bi öneri eğerki content.php yi sen oluşturuyorsan ve başka bi yerde kullanmıyorsan dosyayı xml json formatlarında tutabilirsin

      not dosya işlemlerinde sorun yaşamaman için content.php senin serverinde ve okuma yazma izinleri verilmiş olmalı
      12 yıl önce yazılmış
    • mbayraktar adlı üyenin fotoğrafı mbayraktar
      hemen nedenini aciklayayim,

      bir cms sistemi icin admin paneli yapiyorum ve content.php icindeki img attributlarini (alt, title) programlama bilgisi olmayan birisinin düzenlemesi icin hazir kilacagim.

      bahsettigin üzre bende fopen ile kismen problemimi kismen cözdüm, artik dosyanin icerigine asagidaki kodlarla dokunabiliyorum. :)

      verdigin bilgiler icin ayrica tesekkurler,

       
      $dosya="content.html"; 
      $baglan=@fopen ("$dosya",'r'); 
      if (!$baglan) {
      	 echo "bir hata oldu"; 
      exit(); 
      }
      
      $oku=fread ($baglan,filesize("$dosya")); 
      
      	preg_match_all('/<img[^>]+>/i',$oku,$result);
      	print_r($result);
      fclose($baglan);
      


      bundan sonraki asamada ise yapacagim degisen verileri o dosyaya post ile göndererek yazdirmak.(fwrite).
      sizce daha farkli bir yöntem kullanabilirmiyim? aklima tüm alt ve title textlerini bir xml dosyasina yazdirmak geliyor ve oradan cekmek ama o da cok zahmetli.
      malesef json a uygun bir yapisi yok cünkü content.php sitenin anasayfasi ve icinde javascript frameworkleri gibi bir sürü kod calisiyor.
      12 yıl önce yazılmış
    • emoty_88 adlı üyenin fotoğrafı emoty_88
      peki veri tabanı yokmu neden bu işlerm için yani cms için veri tabanı kullanmıyorsun title alt ve resimlerin sourcelerini bir tabloda tutarsın content.php yi de ona göre düzenler sin

      veri tabanı kullanamıyorsanda mecburen xml dataya başvurman gerek xml kullanman eminim bu yaptığın çalışmadan daha az zahmet ve ilerde daha az sorun çıkartır
      12 yıl önce yazılmış
    • mbayraktar adlı üyenin fotoğrafı mbayraktar
      veri tabanina ihtiyacimiz yok, hem lisanstan tasarruf yani masrafsiz, müsteriler mysql olmadan da cms sistemini kullanabiliyorlar. kisacasi minimum server özelliklerinde bile bu cms i kullanabilirler. hersey xml,txt ve zip dosyalarindan olusuyor. cms in belki bir sonraki versiyonunda veri tabani kullanacagiz.
      12 yıl önce yazılmış