• 09-12-2010, 01:25:09
    #1
    metin belgesine kaydettiğim bir yazının içinden belirlediğim aralıktakı veri nasıl çekebilirim?

    Şöyleki: dosymızın adı metin.txt olsun. içeriği ise;

    ahmet bugün okuldan erken çıktı.
    gezdi tozdu. saat=11:52'de eve gitti.

    istediğim şey saat= ile eve gitti arasındaki veriyi ekrana yazdırmak. Yani 11:52'de
    yazacak ekrana. substr değil aradığım şey. karakter sayısına göre değil kelimeye göre arama yapmam gerekiyor. =, : gibi ifadeleri özellikle belirttim çünkü bunlarda var metinin içinde ve yazdırırken sorun olma ihtimali olabilir.
  • 09-12-2010, 02:24:25
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    <?php
    $deger="ahmet bugün okuldan erken çıktı.
    gezdi tozdu. saat=11:52'de eve gitti.";
    $ekranayazdir=explode('=',$deger);
    $ekranayazdir=explode("'",$ekranayazdir[0]);
    echo $ekranayazdir[0];
    ?>
  • 09-12-2010, 02:58:04
    #3
    dosyadan veriyi almayı ekleyip ufak bi noktayı da düzeltirsek:

    <?php
    $dosya=(fopen("metin.txt" , 'r' ) ) ;
    $metin=fread( $dosya , 1024 );
    $ekranayazdir=explode('saat=',$metin);
    $ekranayazdir=explode("eve gitti",$ekranayazdir[1]);
    echo $ekranayazdir[0];
    ?>
  • 09-12-2010, 03:43:00
    #4
    çalıştıramadım bir türlü. sadece ilk satırı okuyup ekrana yazdı. metinin içinde html ve php kodlarıda var. strip_tags kullandım ama değişen bir şey olmadı.

    <?php 
    $dosya=(fopen("metin.txt" , 'r' ) ) ; 
    $metin=fgets( $dosya, 10 ); 
    $metin1=strip_tags($metin);
    $ekranayazdir=explode('saat=',$metin1); 
    $ekranayazdir=explode("eve gitti",$ekranayazdir[0]); 
    echo $ekranayazdir[0]; 
    ?>
    şeklinde denedim. dosyayı doğrudan ekranada yazdıramıyorum. ama bu kodlarla sadece ilk satırı yazıyor
  • 09-12-2010, 03:44:35
    #5
    mesajımı editledim bi de o şekilde deneyin
  • 09-12-2010, 03:51:54
    #6
    hay allah razı olsun. çalıştı. kafama bir şey takıldı ama

    $ekranayazdir=explode("eve gitti",$ekranayazdir[1]);
    echo $ekranayazdir[0];

    şurda önce $ekranayazdir[1] yazarken echoda neden 0 yazdık 1 i
    bulduda ... istiyor deme merak ettim

    2 gündür php.net i kurcalıyorum bulamadım şu explode yi bir türlü. bu kodları bulacak başka site yokmuki.
  • 09-12-2010, 03:59:38
    #7
    ebroker adlı üyeden alıntı: mesajı görüntüle
    hay allah razı olsun. çalıştı. kafama bir şey takıldı ama

    $ekranayazdir=explode("eve gitti",$ekranayazdir[1]);
    echo $ekranayazdir[0];

    şurda önce $ekranayazdir[1] yazarken echoda neden 0 yazdık 1 i
    bulduda ... istiyor deme merak ettim

    2 gündür php.net i kurcalıyorum bulamadım şu explode yi bir türlü. bu kodları bulacak başka site yokmuki.
    o satırdan bi öncesine bakarsan

    $ekranayazdir=explode('saat=',$metin1);

    vardı. yani diyoruz ki 'saat=' dan böl değişkeni ve öncesini $ekranayazdir[0] a kaydet, sonrasını $ekranayazdir[1] a kaydet

    [0] olunca çalışmadı çünkü bizim değişken böldüğümüz yerden sonrasındaydı [1] deydi

    geniş bilgi:
    http://php.net/manual/tr/function.explode.php
  • 09-12-2010, 04:04:34
    #8
    tekrardan teşekür ederim.
    güzelindir ede teşekür ederim yarımı için
  • 09-12-2010, 04:08:30
    #9
    rica ederim iyi çalışmalar