Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodatkowe znaki w preg_match
Forum PHP.pl > Forum > PHP
tosiek
Witam. Tworzę sobie ciasteczko za pomocą curla i potem odczytuję je za pomocą preg_match.

Ale coś nie wychodzi:
  1. <?php
  2. $plik = file_get_contents(dirname(__FILE__) . '/login.txt');
  3. preg_match('/fusion_user    (.*)/', $plik, $user);
  4. ?>


Za pomocą echo na stronie wyświetla poprawnie:
Kod
1.5c42cf88b628f7dfaa130acb419d1f90


lecz wysłane jako cookie do przeglądarki zawiera dodatkowe znaki:
Kod
1.5c42cf88b628f7dfaa130acb419d1f90%0D

%0D nie wiem zupełnie co to jest i skąd się bierze

plik z którego odczytuję:
http://tosiek.pl/login.txt
erix
Jest to znak nowej linii. Spokojnie możesz go wyciąć.

Najlepiej dodaj zaraz za nawiasem wyrażenia we wzorcu \s (o ile dobrze pamiętam), wtedy będzie wycinać elegancko. [;
em1X
0D to D czyli w dziesiętnym wartość 13. Zaglądam do tabeli kodów ASCII i co widzę pod 13 ? \r smile.gif
Do ucinania białych znaków służy funkcja trim, a że wartość występuje tylko z prawej to można użyć rtrim" title="Zobacz w manualu PHP" target="_manual, aby wartość nieoczekiwaną usunąć.
tosiek
To się dodaje tylko na micro$icie windowsowym, na linuxie działa jak trzeba tongue.gif

dzięki wam wszystkim smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.