| 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: 18 let
|
|||
0