Funkcja str_replace nie zamienia tego co chce

0

Witam próbuje odczytać plik csv za pomocą PHP plik odczytuję i mam zamiar w zmiennej $ilosc przechować tylko cyfry lub liczby, ale funckja str_replace nie zmienia mi słowa "powyżej 30" na samo 30, co robię źle

 
<?php

$handle = fopen('csvilosc.csv','r');

 while (($data = fgetcsv($handle, 0, ",")) !== FALSE) {		
 $ilosc= $data[0];

 str_replace("powyżej 30", "30", $ilosc);
 
 echo'<table><tr>';
 echo $ilosc;
 echo'</tr></table>';
 }

?>	


0

Jakbym miał wróżyć z fusów to powiedziałbym: kodowanie polskich znaków :)

0

oprócz kodowania - nie zapisujesz nigdzie wyniku zamiany - zamieniasz w powietrzu i nie przypisujesz wyniku z powrotem do zmiennej

poza tym zamiast zamieniać wszystko co nie jest liczbą na pustkę, lepiej po prostu wyrażeniem regularnym (\d+) wyciągnąć ze stringa liczbę

1

Zmień na:

$ilosc = str_replace("powyżej 30", "30", $ilosc);
0

heh kodowanie mam chyba dobre bo próbowałem na ISO-8859-2 na UTF-8 i bez zmian i w pliku csv mam takie i w meta html, no chyba ze coś kręcę :)

jedyne co mi przychodzi do głowy to ze str nie chce nic robić z danymi w tablicy czyli moim data[8],bo jak ominę całą to pętlę while i utworze zmienną np

$cos = ponad 100;

i do tego zastosuje

$a = str_replace("ponad", "", $cos)

to usunie ponad i mam samo 100 bede walczy dalej

dodanie znaczników <code class="php"> - @furious programming

1 użytkowników online, w tym zalogowanych: 0, gości: 1