Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Zamiana polskich znaków na zwykłe przez skrypt
garet
post 26.08.2010, 16:36:51
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 26.08.2010

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


Witam forumowiczów. W skrypcie strony mam generowane "przyjazne" linki, ale z polskimi znakami diakrytycznymi czyli ą, ć, ź itd. Niby fajnie bo ładnie to wygląda, ale pytanie jak Google będzie takie linki indeksować. Dlatego wolę aby polskie znaki w tych linkach zamieniały się na zwykłe, bez "ogonków". I tutaj pytanie do ludzi znających PHP, jaki kod muszę dopisać do funkcji "czyszczącej" url'e z takich znaków jak '?', ':' itd.? Funkcja wygląda następująco:

Kod
function clean_url($url)
{
        $url = trim(str_replace(array('Re:', 're:'), '', $url));
        $find = array('?', '#', '%', '?', '^', '.', '/', ' ', '_', ')', '(', '[', ']', ':', '.');
        $url = str_replace($find, '-', censor_text($url));
        $url = str_replace(array('---', '--'), '-', $url);

        return utf8_clean_string($url);
}


Będę bardzo wdzięczny za pomoc.

Ten post edytował garet 26.08.2010, 16:37:21
Go to the top of the page
+Quote Post
varez
post 26.08.2010, 16:42:30
Post #2





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

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


jak tylko masz wszystko w utf-8 to to będzie śmigać że aż miło smile.gif

  1. function makeLink($string) {
  2. $from=', . ; ( ) _ \ /';
  3. $array=explode(' ',$from);
  4. $array[]=' ';
  5. $string=str_replace($array, '-', $string);
  6. $string=iconv('utf-8', 'ascii//translit', $string);
  7. $string=preg_replace('#[^a-z0-9\-]#si', '', $string);
  8. return str_replace('\'', '', $string);
  9. }


będą tylko a-z 0-9 i pauzy, znaki ", . ; ( ) _ \ /" też będą pauzami, polskie/niemieckie/itd znaki zmienią się na a-z odpowiedniki, a reszta znaków zostanie usunięta
Go to the top of the page
+Quote Post
garet
post 26.08.2010, 16:59:33
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 26.08.2010

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


Dzięki za odpowiedź, rozumiem że trzeba zamienić tamten kod na ten podany przez Ciebie? Sorry za noobowskie pytanie, ale nie znam się na PHP. Jeżeli tak trzeba zrobić to niestety nie działa.

Oczywiście wszystko jest w UTF-8. Czyli mógłbym tak zostawić i spokojnie Google będzie to właściwie indeksować?
Go to the top of the page
+Quote Post
everth
post 26.08.2010, 17:18:02
Post #4





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Czasem trzeba poszukać.


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 12.06.2025 - 14:56