Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Jak stworzyc funkcję przerabiającć nazwę artykułu tak, aby mozliwe było stworzenie pliku o takiej nazwie., chodzi o usunięcie spacji i wszystkich niedozwolonych znaczków z nazwy
kukix
post
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Witam.

Zastanawiam się nad tym, jak stworzyć funkcję, która tak fomratowala by nazwę artykulu, żeby mozna bylo stworzyć plik o takiej nazwie.

dla przykładu podam link z allegro.
Prosze zwrócić uwage, jak nazwa produktu została zmodyfikowana.

Cytat
czytnik kart = Fotobank = z LCD (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) FV+GW wroclaw


Cytat



Jak zabezpieczyć się przed znakami, ktorych w tym momencie nie byłbym w stanie przewidziec?

Prosze o podpowiedź jak stworzyć taką funkcję.
Bede bardzo wdzięczny za wszelkie wypowiedzi.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
barthpl
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 35
Dołączył: 5.12.2006
Skąd: Wrocław

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


i jeszcze jedno, podobne rozwiązanie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

  1. <?php
  2. function makeUrl( $nazwa ) {
  3. // tutaj do zestawu warti dodać jeszcze inne popularne litery z języka francuskiego i niemieckiego;
  4. $nazwa = strtr( $nazwa,'ąćęłńóśźżĄĆĘŁŃÓŚŹŻ', 'acelnoszzACELNOSZZ' );
  5. $nazwa = preg_replace( "/[^a-z0-1]{1}/i", '_', $nazwa );
  6. while( strcmp($nazwa, $nazwa = str_replace( '__', '_', $nazwa)) != 0 );
  7. return $nazwa;
  8. }
  9.  
  10. $nazwa = "czytnik kart = Fotobank = z LCD !! FV+GW wroclaw";
  11.  
  12. echo makeUrl( $nazwa );
  13. ?>


wynik jest taki: czytnik_kart_Fotobank_z_LCD_FV_GW_wroclaw

edit-->
rozwiązanie łączące pomysły powyżej umieściłem w wątku: http://forum.php.pl/index.php?showtopic=98...mp;#entry497149.

Ten post edytował barthpl 19.08.2008, 15:36:19
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: 8.10.2025 - 13:12