Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z umlautami
Forum PHP.pl > Forum > Przedszkole
island
Chciałbym porównać dwa ciągi tekstowe zawierające tzw umlauty niemieckie. Dodatkowo chciałbym żeby funkcja ignorowała wielkość liter tak jak to czyni funkcja strcasecmp!! Funkcja strcasecmp działa doskonale do momentu pojawienia się umlautów w ciągu. W skrócie potrzebuje funkcji dla której ciąg "Übung" jest równy "übung" Czy ktoś wie jak to zrobić poprawnie questionmark.gif
webdice
Może to Ci wystarczy:
  1. <?php
  2.  
  3. $upper = 'Übung';
  4. $lower = 'übung';
  5.  
  6. if (strtolower ($upper) == strtolower ($lower))
  7. {
  8.    print 'SĄ TAKIE SAME';
  9. }
  10. else
  11. {
  12.    print 'NIE SĄ TAKIE SAME';
  13. }
  14.  
  15. ?>


Możesz jeszcze spróbować z setlocale" title="Zobacz w manualu PHP" target="_manual.
taktu
może usunąć umlauty? dla polskich znaków:

  1. <?php
  2. function filtruj_string($art) {
  3.  
  4.  $art=strtolower($art);
  5.  $art=str_replace('ł', 'l', $art);
  6.  $art=str_replace('ń', 'n', $art);
  7.  $art=str_replace('ą', 'a', $art);
  8.  $art=str_replace('ś', 's', $art);
  9.  $art=str_replace('ę', 'e', $art);
  10.  $art=str_replace('ó', 'o', $art);
  11.  $art=str_replace('ż', 'z', $art);
  12.  $art=str_replace('ź', 'z', $art);
  13.  $art=str_replace('ć', 'c', $art);
  14.  return $art;
  15. }
  16. }
  17. ?>
island
Problem polega na tym, że funkcja strcasecmp oraz funkcja przedstawiona przez webdice działają poprawnie kiedy ustawimy w pliku kodowanie iso-8859-2 lub windows-1250 (innych nie próbowałem w każdym razie utf-8 odpada) oraz zadamy ciągi tekstowe na sztywno. Ja jednak potrzebuje pobierać jeden ciąg z formularza i tutaj pojawia się problem - funkcje znowu nie działają poprawnie exclamation.gif czy ktoś ma jakieś rady??
webdice
Tak jak pisałem, możesz spróbować z setlocale" title="Zobacz w manualu PHP" target="_manual bądź z iconv" title="Zobacz w manualu PHP" target="_manual.
island
Cytat(webdice @ 8.09.2008, 12:12:07 ) *


Okej pokombinuje z tym. Pozdrawiam
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.