Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zamiana polskich znaków na zwykłe przez skrypt
Forum PHP.pl > Forum > Przedszkole
garet
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.
varez
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
garet
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ć?
everth
Czasem trzeba poszukać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.