Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Dziwne kodowanie, preg_match() nie działa, Plik txt z linuxa po odczytaniu fgets($plik) dostaję krzaki
Compiler
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 2
Dołączył: 11.11.2006

Ostrzeżenie: (0%)
-----


Witam,

Mam problem ponieważ posiadam plik txt o dziwnym kodowaniu. Chyba z Linuxa. Oczywiście mogę go odczytać, ale miejscami są znaki typu : # ¨£ .
Problem jest taki, że wyszukuję wzorca w tym pliku funkcją:
  1. preg_match('/[0-9]{2}-[0-9]{3}/', $linia, $wyniki)


I nie znajduje mi kodu pocztowego.Wyświetlając linie z kodem w przeglądarce dostaję:
5�2�-�1�6�2� �

Czy ktoś wie co zrobić, żeby to działało?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
altruista2
post
Post #2





Grupa: Zarejestrowani
Postów: 127
Pomógł: 32
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


Użyj tej funkcji do wyczyszcenia:
  1. function wyczysc($str) {
  2. $alfabet = '0123456789-abcdefghijklmnoprstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZqąęćłńśóżźĄĘĆŁŃŚÓŻŹ -=[];,.<>:"{}1234567890!@#$%^&*()';
  3. $max = strlen($str);
  4. for($i=0;$i<$max;$i++) {
  5. $ch = substr($str,$i,1);
  6. if(strpos($alfabet, $ch) !== false) $ret .= $ch;
  7. }
  8. return $ret;
  9. }


A potem będzie z górki (IMG:style_emoticons/default/smile.gif) )
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 21:34