A kifejezés első szava nagy kezdőbetűvel
Sziasztok!
Sajnos a fent említett problémát eddig nem tudtam megoldani.
A lényeg, hogy több szóból is állhat a kifejezés, de én csak az első szó első betűjét szeretném nagyra állítani.
Én UTF8-as kódolást használok a meta tagoknál, a fájlok kódolásánál.
Az adat adatbázisból származik, az adatbázis, a tábla, a mező kódolása: utf8_general_ci.
Több dologgal is próbálkoztam, de nem jutottam előrébb.
0.)
1.)
2.)
3.)
4.)
A kimenet a következő: "*á-Á+�**é-É+�**í-Í+�**ó-Ó+�**ö-Ö+�**ő-Ő+�**ú-Ú+�**ü-Ü+�**ű-Ű+�*", ez elvileg az é betű akar lenni ami a böngészőben simán megjelenik.
Van valakinek valami ötlete, hogy mit rontok el?
■ Sajnos a fent említett problémát eddig nem tudtam megoldani.
A lényeg, hogy több szóból is állhat a kifejezés, de én csak az első szó első betűjét szeretném nagyra állítani.
Én UTF8-as kódolást használok a meta tagoknál, a fájlok kódolásánál.
Az adat adatbázisból származik, az adatbázis, a tábla, a mező kódolása: utf8_general_ci.
Több dologgal is próbálkoztam, de nem jutottam előrébb.
0.)
ucwords(mb_strtolower($row->melsojv, 'ISO-8859-2'));
-> kisbetűs marad1.)
ucwords( strtolower($string));
-> kisbetűs marad2.)
$adat=str_ireplace("á","Á",$adat);
$adat=str_ireplace("é","É",$adat);
$adat=str_ireplace("í","Í",$adat);
$adat=str_ireplace("ó","Ó",$adat);
$adat=str_ireplace("ö","Ö",$adat);
$adat=str_ireplace("ő","Ő",$adat);
$adat=str_ireplace("ú","Ú",$adat);
$adat=str_ireplace("ü","Ü",$adat);
$adat=str_ireplace("ű","Ű",$adat);
-> ez jó, csak minden ékezetes betű nagy betűs lesz$adat=str_ireplace("é","É",$adat);
$adat=str_ireplace("í","Í",$adat);
$adat=str_ireplace("ó","Ó",$adat);
$adat=str_ireplace("ö","Ö",$adat);
$adat=str_ireplace("ő","Ő",$adat);
$adat=str_ireplace("ú","Ú",$adat);
$adat=str_ireplace("ü","Ü",$adat);
$adat=str_ireplace("ű","Ű",$adat);
3.)
switch($adat[0])
{
case "á": $adat[0]="Á"; break;
case "é": $adat[0]="É"; break;
case "í": $adat[0]="Í"; break;
case "ó": $adat[0]="Ó"; break;
case "ö": $adat[0]="Ö"; break;
case "ő": $adat[0]="Ő"; break;
case "ú": $adat[0]="Ú"; break;
case "ü": $adat[0]="Ü"; break;
case "ű": $adat[0]="Ű"; break;
}
-> kisbetű marad{
case "á": $adat[0]="Á"; break;
case "é": $adat[0]="É"; break;
case "í": $adat[0]="Í"; break;
case "ó": $adat[0]="Ó"; break;
case "ö": $adat[0]="Ö"; break;
case "ő": $adat[0]="Ő"; break;
case "ú": $adat[0]="Ú"; break;
case "ü": $adat[0]="Ü"; break;
case "ű": $adat[0]="Ű"; break;
}
4.)
$cst=array("á"=>"Á","é"=>"É","í"=>"Í","ó"=>"Ó","ö"=>"Ö","ő"=>"Ő","ú"=>"Ú","ü"=>"Ü","ű"=>"Ű");
foreach ($cst as $keres => $csere)
{
if ($adat[0]==$keres) $adat=$csere.substr($adat,1);
print("*".$keres."-".$csere."+".$adat[0]."*");
}
-> kis betűs maradforeach ($cst as $keres => $csere)
{
if ($adat[0]==$keres) $adat=$csere.substr($adat,1);
print("*".$keres."-".$csere."+".$adat[0]."*");
}
A kimenet a következő: "*á-Á+�**é-É+�**í-Í+�**ó-Ó+�**ö-Ö+�**ő-Ő+�**ú-Ú+�**ü-Ü+�**ű-Ű+�*", ez elvileg az é betű akar lenni ami a böngészőben simán megjelenik.
Van valakinek valami ötlete, hogy mit rontok el?
ucfirst() sem megy
$adat=ucfirst($adat);
sem megy.adatbázis kilőve
mb_convert_case
Hibás megoldások
Köszönöm
$adat=$kb.mb_substr($adat,1,mb_strlen($adat)-1,'utf-8');
Egy elméleti kérdésem is lenne, ehhez miért kellenek új függvények (mbstring), miért nem lehet a meglévő függvényeket egy-egy újabb paraméterrel (a kódolással) kibővíteni és hivatkozni rá, hogy melyik verziótól használható? Vagy egy következő php verzióban az utf-8 lesz az alap karakterkészlet és addig fölösleges ideglenesen új paramétert bevezetni?