Whitespace karakterleri sorun çıkartıyor sanırım.

Şunu deneyince farklı bir sonuç alınabilir;

    if (preg_match('/[^\d\s]/', $satir))

Veya posix için;

    if (ereg('[^0-9[:space:]]', $satir))

Bedreddin SAHBAZ wrote:
> Şimdi bir şey denedim. Dosyadaki sayıların bir kısmını array ile girip
> foreach ile çekince kodlarım düzgün çalışıyor ama bu verileri txt
> dosyasına atıp ordan çağırınca olmuyor. txt dosyasından nümerik değer
> okumanın bir püf noktası mı var acaba? Sanki çektiğim tüm veri string gibi
> değerlendiriliyor gibi geldi bana?
>
> Saygılarımla..
>
>   
>> if (!ereg("^[0-9]+$",$satir))
>>
>> bu kısım istediğim gibi çalışmamakta. Normalde yapmak istediğim içinde
>> sadece numara olan satırları yazdırmamak, satırdaki değerde nümerik
>> değerden farklı bir değer varsa (harf mesela) o satırı yazdırmak
>> istiyorum.
>>
>> Saygılarımla..
>>
>>
>>     
>>> Merhabalar,
>>>
>>> Düzenlediğiniz kod da aynı şekilde tüm txt dosyasını yazdırıyor. Ben
>>> sadece düzenli ifade ile belirttiğim uygunsuz satırları görmek
>>> istiyorum.
>>> Neden olmuyor acaba?
>>>
>>> Saygılarımla..
>>>
>>>       
>>>> <?
>>>> $dosya = "barkod.txt";
>>>> $icerik = @file($dosya);
>>>> if (!$icerik) {
>>>>    echo "Dosya açılamadı.";
>>>> } else {
>>>>    foreach ($icerik as $satir) {
>>>>       if (!ereg("^[0-9]+$",$satir)) {
>>>>         echo $satir . "<br>\n";
>>>>       } else {
>>>>         echo $satir . ' - Bulunamadı <br />';
>>>>       }
>>>>    }
>>>> }
>>>> ?>
>>>>
>>>> Å&#65533;eklinde denerseniz sıkıntınızın nerede olduÄ&#65533;unu
>>>>         
>>> anlaya bilirsiniz.
>>>       
>>>> 2009/5/9 Bedreddin SAHBAZ <[email protected]>
>>>>
>>>>         
>>>>> Merhabalar,
>>>>>
>>>>> Yapmak istediÄ&#65533;im Å&#65533;ey basit ancak bir türlü
>>>>>           
>>> mantıÄ&#65533;ı çözemedim.
>>>       
>>>>> Bir txt
>>>>> dosyasından verileri satır satır okuyarak belli kritere
>>>>> uymayanları
>>>>> ekrana
>>>>> yazdırmak istiyorum. Bunun için Å&#65533;öyle bir kod yazmayı
>>>>> denedim;
>>>>>
>>>>> <?
>>>>> $dosya = "barkod.txt";
>>>>> $icerik = @file($dosya);
>>>>> if (!$icerik)
>>>>> echo "Dosya açılamadı.";
>>>>> else
>>>>> {
>>>>> foreach ($icerik as $satir)
>>>>> if (!ereg("^[0-9]+$",$satir))
>>>>> {
>>>>> echo $satir . "<br>\n";
>>>>> }
>>>>> }
>>>>> ?>
>>>>>
>>>>> Bu Å&#65533;ekilde kodu çalıÅ&#65533;tırınca barkod.txt
>>>>>           
>>> dosyasındaki tüm
>>>       
>>>>> kayıtları vermeye
>>>>> devam ediyor. Ben istiyorum ki içinde harf olan satırları göreyim
>>>>> sadece.
>>>>> foreach'in kullanımı ile ilgili bir hata yapıyorum sanırım. Belki
>>>>> de çok
>>>>> basittir. Listeyi gereksiz meÅ&#65533;gul ettimse özür dilerim.
>>>>>
>>>>> Saygılarımla..
>>>>>
>>>>> _______________________________________________
>>>>> Linux-programlama mailing list
>>>>> [email protected]
>>>>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>>>>>
>>>>>           
>>>>
>>>> --
>>>> Elvin Å&#65533;iriyev
>>>> http://elvin.siriyev.net
>>>> _______________________________________________
>>>> Linux-programlama mailing list
>>>> [email protected]
>>>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>>>>
>>>>         
>>> _______________________________________________
>>> Linux-programlama mailing list
>>> [email protected]
>>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>>>
>>>       
>> _______________________________________________
>> Linux-programlama mailing list
>> [email protected]
>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>>
>>     
>
>
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>   
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

Cevap