CodeIgniter nie uwzględnia polskich znaków diakrytycznych tworząc urle z ciągów znaków (np. tytuł strony czy artykułu) i tak na przykład jeżeli w url'u miałoby się znaleźć słowo "Żłobek" wyszłoby coś na wzór tego: http://twojastrona.com/obek - gdzie to "obek" to właśnie przekształcony ciąg dla url'a. Ja znalasłem na to szybki sposób i w miarę prosty.
Do helpera url_helper.php znajdującego się folderze "system/helpers/" w funkcji url_title() pod instrukcjami:
if ($separator == 'dash')
{
$search = '_';
$replace = '-';
}
else
{
$search = '-';
$replace = '_';
}
dodajemy te linijki:
$pl = array ( 'ą', 'ę', 'ó', 'ł', 'ń', 'ć', 'ś', 'ż', 'ź',
'Ą', 'Ę', 'Ó', 'Ł', 'Ń', 'Ć', 'Ś', 'Ż', 'Ź');
$en = array ( 'a', 'e', 'o', 'l', 'n', 'c', 's', 'z', 'z',
'a', 'e', 'o', 'l', 'n', 'c', 's', 'z', 'z');
foreach($pl as $pos => $dump)
$str = preg_replace("#".$dump."#", $en[$pos], $str);
I tyle - teraz każda polska litera będzie zamieniana na jej odpowiednik bez ogonka.
Pokaż więcej z kategorii: CodeIgniter
Tagi: urltitle polskie znaki
Ciekawe podejście, jednak lepiej byłoby nadpisać te funkcje.
© Patryk Matlak 2007-2010
Hosted by Wizja.net
Odwiedź również: www.matlak.net.pl
| grantowki.wordpress.com
Słowa kluczowe: strony internetowe oświęcim, serwisy www kęty, webmaster powiat oświęcimski