seohost
pytanie zadane 1 kwietnia 2017 w Programowanie przez użytkownika anonimowy
Jak usunąć polskie znaki narodowe z tekstu za pomocą php? Chcę żeby zmieniały się ona na ich odpowiedniki bez polskich końcówek. Np. ć na c

Za pomocą jakiej funkcji mogę to zrobić? Może ktoś zarzuci jakimś przykładem?

1 odpowiedź

odpowiedź 1 kwietnia 2017 przez użytkownika

Najprościej jest użyć do tego, funkcji replace_titles() i bezpośrednio określić jaki znak chcemy zamienić na jakiś konkretny.

Poniżej listing z przykładem użycia tej funkcji, która usuwa polskie znaki z tekstu i dodatkowo zmienia wszystkie literki z dużych na małe:

<?php
function replace_titles($tekst) {
//tablice znaków
$search=array(' ', '/', '\'', '&', '%', 'ć', 'ś', 'ą', 'ż', 'ó', 'ł', 'ś', ź', 'ń', 'ę',);
$replace=array('_', '-', '-', 'and', 'procent', 'c', 's', 'a', 'z', 'o', 'l', 's', z', 'n', 'e',);
$tekst = strtolower($tekst); // zamienia wszystkie litery na małe
$tekst = html_entity_decode($tekst); // zamienia znaki na znaki html
$tekst = str_replace($search, $replace, $tekst); // zamienia znaki z tablic
return $tekst; //zwraca przekształcony tekst
}
?>
komentarz 13 kwietnia 2020 przez użytkownika anonimowy
W sumie dobrze że dodałeś funkcje zmiejszajaca litery. Bo przeważnie usuwa się polskie znaki i od razu zmniejsza znaki na małe, żeby ujednolicić.
komentarz 20 czerwca 2020 przez użytkownika anonimowy
A można by tego jakoś użyć, w formularzu zakładania konta? Tak żeby wykrywało, że ktoś wpisał hasło z polską czcionką i mu wyskakiwał komunikat?
...