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
materkamil
post
Post #2





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

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


Include_once jest oczywiście wskazane, przy dołączaniu funkcji czy klas (? chyba) w obiektowym. Jako że w wielu plikach znajdują się schematy funkcji lepiej jest użyć tego _once (przynajmniej wg. mnie)

Co do funkcji, po prostu dużo pracowałem z obróbką szablonów wordpressa i coś takiego zauważyłem, przemyślałem to i pomyślałem że to bardzo dobry pomysł. Słyszałem również, że do tego celu wykorzystujemy zwykle Smarty, jednak - zdecydowałem się na funkcje.

Cytat
Widzę że załapałeś, ale chyba trochę na opak.


Od początku mówiłem że nowy CMS będzie przełomem we wszystkich moich projektach
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: 6.10.2025 - 08:19