Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: znowu polskie fonty
Forum PHP.pl > Forum > PHP
codo
Hej mam taki problem. User wpisuje w formularzu costam z polskimi znakami.
Chce otrzymac to co napisal bez polskich fontow wiec napisalem taka funkcje:
  1. <?php
  2.  
  3. function no_pl($string)
  4. {
  5.  
  6.  $pl=array(&#092;"±\",\"ę\",\"ł\",\"ż\",\"Ľ\",\"ó\",\"ć\",\"ń\",\"¶\",\"ˇ\",\"\",\"Ł\",\"Ż\",\"¬\",\"Ó\",\"Ć\",\"Ń\",\"¦\");  
  7. $no_pl=array(&#092;"a\",\"e\",\"l\",\"z\",\"z\",\"o\",\"c\",\"n\",\"s\",\"A\",\"E\",\"L\",\"Z\",\"Z\",\"O\",\"C\",\"N\",\"S\");
  8.  
  9. $string_nopl=str_replace($pl,$no_pl,$string);
  10.  
  11.  
  12. echo $string.&#092;" vs. \".$string_nopl.\"<Br>\";
  13. return $string_nopl;
  14. }
  15. ?>


A on przykladowo wypisuje: ˇ¬ŻŁŁa±łę vs. ˇ¬ZLLa±le
czyli zamienil tylko wybiorczo.
Strona jest kodowana w iso8859-2
Co robie zle?
mhs
kod:
  1. <?php
  2. function noPl($str) {
  3. $patterns = array(
  4.  &#092;"/±/\",
  5.  &#092;"/ˇ/\",
  6.  &#092;"/ć/\",
  7.  &#092;"/Ć/\",
  8. );
  9.  
  10. $replacements = array(
  11.  &#092;"a\",
  12.  &#092;"A\",
  13.  &#092;"c\",
  14.  &#092;"C\",
  15. );
  16.  
  17. return preg_replace($patterns, $replacements, $str);
  18. }
  19.  
  20.  
  21. echo noPl('ˇĆ±ćˇ±Ćć');
  22. ?>


wynik:
Kod
ACacAaCc



manual: preg_replace" title="Zobacz w manualu PHP" target="_manual
codo
Ok, dziekuje. Tylko dlaczego nie dziala str_replace?
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.