Autor | Zpráva | ||
---|---|---|---|
Manny Profil * |
#1 · Zasláno: 30. 10. 2008, 08:56:40
Zdravím, mám funkci napsanou na to, aby mi odstranila z řetězce diakritiku a mezery nahradila znakem "-". Problém je ale ten, ze napriklad ze slova "pratele" mi vyleze slovo "ptel"...
Funkce mi vypada nasledovne: <?php function prevod_nazvu($nazev) { $nazev=strtolower($nazev); $co=array('ě','š','č','ř','ž','ý','á','í','é','ó','ů','ú',' ','_'); $za_co=array('e','s','c','r','z','y','a','i','e','o','u','u','-','-'); $nazev=str_replace($co,$za_co,$nazev); $string = NULL; $pred = NULL; for($i=0;$i<strlen($nazev);$i++) { $znak = substr($nazev,$i,1); if($pred== $znak AND $znak == '-') {} elseif((ord($znak) > 96 AND ord($znak)<123) OR (ord($znak)>47 AND ord($znak)<58) OR ord($znak)==45) { $string .= $znak; $pred = $znak; } $znak = NULL; } return $string; } ?> Předem děkuji za pomoc |
||
ninja Profil |
#2 · Zasláno: 30. 10. 2008, 09:39:39 · Upravil/a: ninja
Jake je vstupni kodovani cestiny?
Jinak: function utf2ascii ($string) { $string=iconv('utf-8','windows-1250',$string); $win = "ěščřžýáíéťňďúůóöüäĚŠČŘŽÝÁÍÉŤŇĎÚŮÓÖÜËÄ\x97\x96\x91\x92\x84\x93\x94\xAB \xBB"; $ascii="escrzyaietnduuoouaESCRZYAIETNDUUOOUEAOUEA\x2D\x2D\x27\x27\x22 \x22\x22\x22\x22"; $string = StrTr($string,$win,$ascii); return $string; } |
||
Manny Profil * |
#3 · Zasláno: 30. 10. 2008, 15:14:59
ninja
tak jsem zjistil, ze se mi ten text uklada do db špatně, ale z ní se mi vypisuje dobře. Pokusím se to znázornit na příkladu: - do databáze si uložím slovo "Přátelé" - když se mrknu do phpmyadmina, co se mi do db uložilo, je tam tohle slovo: "Přátelé" a ve sloupci pro seo je slovo "ptel" - když si chci vypsat, co mám v db uložené, vypíše se mi správně "Přátelé", ale uprava tohoto slova je "ptel" Nevíte prosím jak to nějakým způsobem opravit? |
||
ninja Profil |
#4 · Zasláno: 30. 10. 2008, 15:30:26
Je potreba sjednotit kodavani (jazykovou sadu):
- vstupni text - soubory PHP - pripojeni k DB Evidentne to ukladate jinak nez na to koukate. |
||
Manny Profil * |
#5 · Zasláno: 30. 10. 2008, 15:39:58
ninja
Upravil jsem pripojeni do databaze - mysql_query("SET CHARACTER SET utf8"); A uz se mi ten text zobrazuje spravne i s diakritikou, ale bohuzel porad se mi ten text nedari upravit pro SEO.... zkratka opet napr. misto slova Žurnál dostana "urnl" .. :( |
||
Manny Profil * |
#6 · Zasláno: 30. 10. 2008, 15:59:51
vyreseno
|
||
Časová prodleva: 16 let
|
0