Witam mam problem z modem rewrite nie wiem jak znaleźć linie w której przetwarzane są znaki pod url. Ponieważ chciał bym tam dodać aby np: “ą” zamieniało mi na “a” lub “ś” na “s” bo aktualnie kiedy w linku użyje “ą” to otrzymuję “-”. Jak to dodać ??
Nie bardzo rozumiem…
Linki generujesz na poziomie php i tam powinieneś przeprowadzić konwersję ogonków itp.
A jeżeli chodzi o htaccess, to jeżeli chcesz zmusić do trawienia ogonków, to musisz zmienić zakres w regułkach np. coś w stylu
[a-z0-9 -]+ na [a-z0-9 -ąćęłńóśźż]+ albo (.*) czy korzystając z negacji [^/]+
Znalazłem coś takiego czy tutaj mam to wpisać ?
$tos = FALSE;
$to = str_replace(' ', '', $to);
if(eregi(',', '')){
$tos = explode(',', $to);
}
Nie stosuj eregi, bo po pierwsze ma status deprecrecated, po drugie to co to za konstrukcja?, a po trzecie to to do wyrażeń regularnych!
zmienić ogonkowe na bezogonkowe możesz tak:
$to = iconv('utf-8','ascii//translit',$to);
a możesz dać mi przykład z zamianą np literki ą na a ?
zmieni wszystkie krzaczki na wersję bezogonkową
<?php
$tekst='bąbelki są źródłem radości';
$tekst = iconv('utf-8','ascii//translit',$tekst);
echo $tekst; //dostaniesz: babelki sa zrodlem radosci
?>
jak chcesz zmienić tylko jedną literę, to:
<?php
$tekst='bąbelki są źródłem radości';
$tekst = str_replace('ą','a', $tekst);
echo $tekst; //zwróci: babelki są źródłem radości
?>
możesz też zmienić kilka wybranych znaków:
<?php
$in = array('ą','ć','ę','ż');
$out=array('a','c','e','z');
$tekst='ąćęłńóśżź';
$tekst = str_replace($in,$out, $tekst);
echo $tekst; //zwróci: acełńóśzź
?>