Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z adresem po zamianie polskich znaków w URL za pomocą str_replace
Ewelka
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 19.08.2013

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


Mam mały problem z odczytem adresu URL w którym usunęłam polskie znaki za pomocą funkcji str_replace, zamieniając polskie znaki
na standardowe a-z, A-Z i zamieniając spację " " na myślnik "-". W efekcie linki które do tej pory wyglądały mniej-więcej tak:
"http://www.strona.pl/spódniczka" teraz są bez polskich znaków: "http://www.strona.pl/spodniczka"

Z drugiej strony zrobiłam zamianę myślnika "-" spowrotem na spację " ", lecz mam problem z tym, że z drugiej
strony adres "/spodniczka" nie zostaje znaleziony, ponieważ poprawnie brzmi adres z polskimi znakami - "/spódniczka".


Jak Wy rozwiązujecie problem tego typu? Siedzę nad tym już kilka godzin i już nie mam pomysłów... (IMG:style_emoticons/default/sciana.gif) Z góry dziękuję za pomoc (IMG:style_emoticons/default/wink.gif)


Tutaj zamiana polskich znaków na standardowe a-z, A-Z:
  1. function nice_url($a)
  2. {
  3. $url = $a;
  4. $cenzura = array(" ", "ą", "ć", "ł", "ó", "ś", "ę", "ń", "ż", "ź", "Ą", "Ć", "Ł", "Ó", "Ś", "Ę", "Ń", "Ż", "Ź");
  5. $zamiana = array("-", "a", "c", "l", "o", "s", "e", "n", "z", "z", "A", "C", "L", "O", "S", "E", "N", "Z", "Z");
  6. $url = str_replace($cenzura, $zamiana, $url);
  7. echo $url;
  8. }


A tutaj fragment kodu z podstrony:
  1. function clean($text)
  2. {
  3. return htmlentities(strip_tags(stripslashes($text)), ENT_COMPAT, "UTF-8");
  4. }
  5.  
  6. $url = clean($_REQUEST['url']);
  7. $url = str_replace("-", " ", $url);
  8.  
  9. $query = "select A.ID, A.url, from elements A where A.url='".mysql_real_escape_string($url)."'";
  10. $executequery = $conn->execute($query);
  11. $ID = intval($executequery->fields['ID']);

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


W bazie trzymasz tytuł wyświetlany i URL, które mogą być takie same albo zbliżone.
Np.
url: jaka-spodniczka
title: Jaka spódniczka?

Przy pobieraniu wpisu szukasz via url, wyświetlasz już title.
Musisz pamiętać aby nadać indeks unikalny na url aby pod jednym nie było kilku wpisów.
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: 17.10.2025 - 16:36