Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Podział stringa na litery (w tym polskie)
Forum PHP.pl > Forum > Przedszkole
jajcarzd1
Witam

Moi drodzy mam taki dość prosty problem ale nie wiem jak go ugryżć. Mam stringa w którym potrzebuje odwoływać się do każdej z liter z osobna. Przelatuję w pętli odwołując się normalnie w notacji tablicowej

  1.  
  2. $a = "to są litery";
  3.  
  4. for($i = 0,$ii = strlen($a); $i<$ii; $i++){
  5. echo $a[$i];
  6. }
  7.  
  8. //wynik - to s�� litery


przy odwoływaniu się do polskich liter jest ok, no ale dochodząc do litery 'ą' mam problemy bo z tego co widzę dana pozycja w stringu odpowiada pewnie 1 bajtowi i jest ta litera na pozycji 4 i 5.

I pytanie brzmi jak się powinienen odwoływać do każdej z pozycji w stringu aby uzyskać też polskie litery.

Będe wdzięczny za info.


wookieb
mb_substr
  1. $litera = mb_substr($text, $index, 1);

Wiadomo, że opcjonalnie możesz podać kodowanie.
jajcarzd1
Dzięki serdeczne
matewka
Wybaczcie odkopanie tematu i wtrącenie się trochę nie w temat, ale jeśli chodzi o samą pętlę, to ja bym zrobił tak:
  1. $a = "to są litery";
  2.  
  3. while ($a[$i]) {
  4. echo $a[$i];
  5. $i++;
  6. }

Taki kod wydaje mi się schludniejszy. Ale to tylko moja własna opinia.
wookieb
Schludności tu nie ma a i błędami sypie (zastanów się dlaczego).
Poza tym i tak nie zadziała.
Wpisz coś takiego
  1. echo $a[$i].' ';

a dowiesz się dlaczego.
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.