Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak obliczać długość tekstu z polskimi znakami ?
Forum PHP.pl > Forum > Przedszkole
Octobus
Witam. Mam taki problem bo potrzebuje policzyć długość tekstu z pl znakami. Przykładowy tekst:
Kod
Mając do czynienia z systemem Windows Vista



dlugosc tekstu: 43
strlen daje: 44
mb_strlen daje: 44

z tego co czytalem w manualu mb_strlen powinien liczyc znaki a nie bity wiec to ą zawyza wartosc.
sciana.gif

Edit: Ok przepraszam za kłopot, nie doczytalem
mb_strlen($string,'UTF-8')
jacusek
ewentualnie w ten sposób, ale na to samo wychodzi
  1. (strlen(utf8_decode($zmienna)
darko
Bardzo nieeleganckie rozwiązanie, ale zadziała:
  1. function strlen_pl($txt)
  2. {
  3. $pls = array('ą', 'ć', 'ę', 'ł', 'ń', 'ó', 'ś', 'ź', 'ż', 'Ą', 'Ć', 'Ę', 'Ł', 'Ń', 'Ó', 'Ś', 'Ź', 'Ż');
  4. $substractPl = 0;
  5. foreach($pls as $pl)
  6. {
  7. $substractPl += substr_count($txt, $pl);
  8. }
  9. return strlen($txt) - $substractPl;
  10. }
  11. $txt = 'Zażółć gęślą jaźń';
  12. echo strlen_pl($txt);
wookieb
Już podał rozwiązanie. Wystarczy.
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.