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 />';
>>>> }
>>>> }
>>>> }
>>>> ?>
>>>>
>>>> �eklinde denerseniz sıkıntınızın nerede oldu�unu
>>>>
>>> anlaya bilirsiniz.
>>>
>>>> 2009/5/9 Bedreddin SAHBAZ <[email protected]>
>>>>
>>>>
>>>>> Merhabalar,
>>>>>
>>>>> Yapmak istedi�im �ey basit ancak bir türlü
>>>>>
>>> mantı�ı çözemedim.
>>>
>>>>> Bir txt
>>>>> dosyasından verileri satır satır okuyarak belli kritere
>>>>> uymayanları
>>>>> ekrana
>>>>> yazdırmak istiyorum. Bunun için �ö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 �ekilde kodu çalı�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�gul ettimse özür dilerim.
>>>>>
>>>>> Saygılarımla..
>>>>>
>>>>> _______________________________________________
>>>>> Linux-programlama mailing list
>>>>> [email protected]
>>>>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>>>>>
>>>>>
>>>>
>>>> --
>>>> Elvin �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