Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Funkcja
materkamil
post
Post #1





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 24.04.2012

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


Mam taką funkcję kasującą polskie znaki:

  1. function clean($x) {
  2. $PL = array('ą' => 'a', 'ę' => 'e', 'ś' => 's', 'ć' => 'c', 'ó' => 'o', 'ń' => 'n', 'ż' => 'z', 'ź' => 'z', 'ł' => 'l', 'Ą' => 'A', 'Ę' => 'E', 'Ś' => 'S', 'Ć' => 'C', 'Ó' => 'O', 'Ń' => 'N', 'Ż' => 'Z', 'Ź' => 'Z', 'Ł' => 'L');
  3. return(str_replace(array_keys($PL), array_values($PL), $x));
  4. }


i teraz drugą funkcję wyświetlającą rekordy z bazy w postaci listy:

  1. function menu() {
  2. global $database;
  3. $db_menu = $database->query('SELECT * FROM menu');
  4. foreach($db_menu as $menu) {
  5.  
  6. echo('<li><a href=index.php?page='.clean('ŚÓŚ').'>text</a></li>');
  7. }
  8. }


Gdy wpisany jest do drugiej funkcji tekst np: "ŚÓŚ" link prowadzi do ...SOS (bez polskich znaków)

Jeśli jednak zamiast tekstu dam tu zmienną:

  1. echo('<li><a href=index.php?page='.clean($menu['cos']).'>text</a></li>');


To adres jest dalej z polskimi znakami (np: gdy wartosc zmiennej $menu['cos'] to "ŚÓŚ"). Jak to możliwe i jak temu zapobiec?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
!*!
post
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Od tego typu zmian jest iconv a nie jakieś śmieszne tablice.

Cytat
Sablony będą całkowicie oddzielone od kodu PHP. Będą to po prostu zwykłe struktury w HTMLu a w miejscach gdzie miałby być kod PHP użyte są funkcje.


To po co Ci taki szablon? Szablony powstały po to, aby ustalać znaczniki {text} zamienia na <?php echo $text;?> a nie po to aby były w nich funkcje. A jak już chcesz stosować MVC, to nie powinny być to funkcje a kod PHP. Sprowadzasz wszytko do jednego worka.

Ten post edytował !*! 26.09.2012, 12:55:36
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 17:28