Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zamiana polskich znaków na znaki bez ogonków
PaJRaF
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 21.02.2005

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


Witajcie

Mam skrypt w którym jest coś takiego:

  1. function removeSpecialCharacter($string){
  2. $array = array("\"","/",",","`",".","{}","[]","`","'","&","<>","=","^","$","@","!","?","~","#",":","+","++","%","-","_",";","()");
  3. $first_replace = trim(str_replace($array,"-",(trim($string))));
  4. $special_char= array("----","---","--","-");
  5. return (str_replace($special_char,"",$first_replace));
  6.  
  7. }


moje pytanie jest czy można dorobić do tego funkcję która przetwarzała by polskie znaki z ogonkami na te same znaki bez ogonków...
czyli np. ą > a; ś >s itd...

Z góry dziękuję za odpowiedź
Go to the top of the page
+Quote Post
c3zi
post
Post #2





Grupa: Zarejestrowani
Postów: 266
Pomógł: 20
Dołączył: 15.11.2006
Skąd: Koszalin

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


Możesz stworzyć 2 tablice (chyba najprostsze rozwiązanie):

  1. $aArr1 = array('ą', 'ę', 'ć');
  2. $aArr2 = array('a', 'e', 'c');
  3. str_replace($aArr1, $aArr2, $string);
  4.  


--------------------
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Go to the top of the page
+Quote Post
modern-web
post
Post #3





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Przy dużych stringach str_replace strasznie spowalnia całą aplikację, nie polecam tego rozwiązania.
Może pokombinuj coś z iconv?


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
PaJRaF
post
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 21.02.2005

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


hmm :/

coś sobie nie mogę poradzić sad.gif

czy była by może osoba która zrobiła by coś takiego? (może być odpłatnie)

proszę o kontakt prześlę więcej szczegółów...
Go to the top of the page
+Quote Post
modern-web
post
Post #5





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Zapraszam do wątku: `Giełda ofert`


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
maniana
post
Post #6





Grupa: Zarejestrowani
Postów: 207
Pomógł: 44
Dołączył: 18.05.2007

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


Proponuje skrypt który działa nie tylko na polskich znakach (działa na UTF):
  1. function str2Url($t,$replace=null) {
  2. $rf = array("\r","\n","\r\n","\n\r",'а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я');
  3. $rt = array('','','','','a','b','v','g','d','e','jo','zh','z','i','j','k','l','m','n','o','p','r','s','t','u','f','h','c','ch','sh','w','','y','','je','ju','ja');
  4. $txt = str_replace(array('^',"'",'"','`','~'),'',iconv('UTF-8','ASCII//TRANSLIT',str_replace($rf,$rt,mb_strtolower($t,'UTF-8'))));
  5. if(empty($replace)) return $txt;
  6. else return str_replace(' ',$replace, ereg_replace(' +',' ',preg_replace('/[^a-zA-Z0-9\s]/','',trim(str_replace(array('_','.',',','(',')','{','}','[',']','/',':',';','"','\'','-','+','=','!','@','#','$','%','^','&','?','*'),' ', $txt )))));
  7. }
Używamy w następujący sposób:
  1. str2Url('Litwo! Ojczyzno moja! Ty jesteś jak zdrowie. Nazywał się rówiennicą a pan Rejent był tytuł markiza.','-'); // Przekształca tekst na url
  1. str2Url('Litwo! Ojczyzno moja! Ty jesteś jak zdrowie. Nazywał się rówiennicą a pan Rejent był tytuł markiza.'); // Tylko usuwa znaki narodowe

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 Aktualny czas: 20.08.2025 - 18:56