Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]zamiana polskich znaków
Forum PHP.pl > Forum > Przedszkole
rafiksq
Potrzebuje napisać funkcję, która zamieni małe znaki polskie na duże znaki również polskie, czyli np.świecie na Świecie Przeszukałem internet ale nic nie znalazłem. Mam coś takiego ale nie działa:
  1. function zamiana($string)
  2. {
  3. $male= array('/ś/');
  4. $duze= array('Ś');
  5. $zamiana= strtolower(preg_replace($male, $duze, $string));
  6. return str_replace(" ", "-", preg_replace("/[^a-zA-Z0-9 ]/", "", $zamiana) );
  7.  
  8. }
gothye
strtoupper
neverever
  1. $str='pączkowy test wiadomości świątecznej';
  2.  
  3. $in = array('ą','ć','ę','ł','ń','ó','ś','ż','ź');
  4. $out = array('Ą','Ć','Ę','Ł','Ń','Ó','Ś','Ż','Ź');
  5. echo str_replace($in, $out, $str);
rafiksq
Cytat(gothye @ 11.02.2010, 17:01:00 ) *


niezamienia polskich znaków
athei
strtolower i strtoupper nie działają dla utf-8, zamiast tego jest mb_strtolower('tekst','UTF-8') i mb_strtoupper('tekst','UTF-8') i
rafiksq
A masz jakiś pomysł na zwiększenie tylko pierwszej litery z uwzględnieneiem polskich znakow? mb_ucfirst nie dziala:)
DOsłownie potrzebuje coś takiego:

  1. function change_upper_string($string){
  2. $tekst=mb_strtoupper($string,'UTF-8');
  3. $new_tekst=substr($tekst,0,2);
  4. $new_tekst.=mb_strtolower(substr($tekst,2), 'UTF-8');
  5. return $new_tekst;
  6. }
  7.  
  8. $tekst="święte góry";
  9. $tekst_tablica=explode(" ", $tekst);
  10.  
  11. $nowy='';
  12. foreach($tekst_tablica as $element) {
  13. $nowy.=change_upper_string($element)." ";
  14. }
  15.  
  16. echo $nowy


Powyższy skrypt powinien zmienić każdą pierwszą literę na dużą, niestety w tym przypadku zamiast "ó" są szlaczki.
athei
w manualu masz http://php.net/manual/de/function.ucfirst.php (komentarze)
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.