Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Iteracja stringa w UTF8
rafaelb
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 2
Dołączył: 17.01.2004

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


Mam następujący problem. String w UTF8 i chcę go przejść po literce niestety z polskimi znakami mam krzaczki.
Przykład:
  1. <?php
  2. $str = 'zażółć gęślą jaźń';
  3. print '$str: '.$str.'<br />';
  4. for($i = 0; $i < strlen($str); $i++){
  5. print ' <span>'.$str{$i}.'</span>';
  6. }
  7. print '<br />$str: '.$str.'<br />';
  8. ?>

Wynik
  1. $str: zażółć gęślą jaźń
  2. z a g l j a
  3. $str: zażółć gęślą jaźń


Jakieś pomysły? Sugestie. Wiem że UFT8 zajmuje po da bity na każdą literkę ale nie wiem jak to zgrabnie przeliterować, bez użycia konwersji do ISO wcześniej
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Blodo
post
Post #2





Grupa: Zarejestrowani
Postów: 51
Pomógł: 1
Dołączył: 1.02.2005

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


utf8 nie zajmuje dwoch bajtow na kazda litere, tylko od jednego do czterech. W php5 nie da sie tego obejsc bez napisania wlasnej funkcji, ktora pojdzie literka po literce i walnie to wszystko do jakiejs tablicy ktora potem mozesz manipulowac. Nie jest to specjalnie trudne jak sie zna bitwise operators, ale tak czy inaczej wymaga troche czasu. Jak nie chcesz sam do tego dochodzic, to polecam phputf8.
Go to the top of the page
+Quote Post
rafaelb
post
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 2
Dołączył: 17.01.2004

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


Cytat(Blodo @ 19.11.2007, 13:06:52 ) *
utf8 nie zajmuje dwoch bajtow na kazda litere, tylko od jednego do czterech. W php5 nie da sie tego obejsc bez napisania wlasnej funkcji, ktora pojdzie literka po literce i walnie to wszystko do jakiejs tablicy ktora potem mozesz manipulowac. Nie jest to specjalnie trudne jak sie zna bitwise operators, ale tak czy inaczej wymaga troche czasu. Jak nie chcesz sam do tego dochodzic, to polecam phputf8.


Dzięki wielkie, fajna biblioteka.
W między czasie znalazłem polską produkcję:
Biblioteka do operacji na ciągach znaków w UTF-8
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 - 09:49