Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Długość stringa w bajtach
Forum PHP.pl > Forum > Przedszkole
korro
Witam.

Czy funkcja strlen() zwróci rzeczywistą, bajtową długość stringa?
Co, jeśli w łańcuchu będą znaki UTF?

Z góry dzięki za odpowiedź.
batman
Od tego właśnie jest manual.
korro
Sprawdzałem tę funkcję zanim założyłem wątek, zwraca to samo, co strlen.

Ma ktoś praktyczne doświadczenie z tematem?
nospor
http://www.php.net/manual/en/function.strlen.php
i sobie wejdź sekcję SEE ALSO
No trochę samodzielności...
zegarek84
zwróci właściwą długość - przy znakach typu ą podlicza 2 - dlatego jeśli chce się liczbę znaków a nie bajtów przy kodowaniu UTF stosuje się mb_strlen...
jeszcze jeśli chcesz wysłać nagłówek z ilością znaków to jeśli używasz ob_ start możesz użyć ob_get_length - jeśli jeszcze kompresujesz przez ob_gzhandler to powyższe zwróci niepoprawną wartość - jest kilka sposobów na zwrócenie poprawnej wartości - najprostsza i najszybsza metoda z komentarzy:
  1. ob_start('ob_gzhandler');
  2. ... output the page content...
  3. ob_end_flush(); // The ob_gzhandler one
  4. header('Content-Length: '.ob_get_length());
  5. ob_end_flush(); // The main one

edit - jeśli jakąś treść generujesz dynamicznie i chcesz ją podliczyć czy coś takiego to też możesz miejscowo używać ob_start
korro
Panowie.
Nie założyłbym wątku przed sprawdzeniem wszystkich w miarę oczywistych rzeczy.
Chciałem mieć pewność.
nospor
Cytat
przed sprawdzeniem wszystkich w miarę oczywistych rzeczy.

acha, czyli podstawowa sekcja SEE ALSO i mb_strlen w niej się znajdujący nie jest sprawą oczywistą?
korro
Jeśli na Twoje 'zobacz see also', odpowiadam, że sprawdzałem oczywiste rzeczy, znaczy to dokładnie tyle, że sprawdzałem mb_strlen.
nospor
to wybacz nie rozumiem po co zakladales ten wątek, skoro wiedziałeś jak działa strlen() i jak działa mb_strlen()

Jak będziesz chciał się upewnić co zwraca substr('tekst',0,3) to też założysz wątek na forum?
Przenoszę bo dział php to nie miejsce na takie tematy.
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.