Onko jotain helppoa tapaa millä saa sanasta ä,å muutettu a ja ö o:ks ja välit pois?
On, montakin.
(vaikka replacella, yksityiskohdat riippuen kielestä)
PHP:ssä vaikkapa näin:
$sana = str_replace("å", "a", $sana); $sana = str_replace("ä", "a", $sana); $sana = str_replace("ö", "o", $sana); $sana = str_replace(" ", "", $sana);
$sana = strtolower($sana);
mulla ei toimi ylläoleva funktio, mikä vikana?
Et kertonu, millä tavalla "ei toimi". Kristallipallo kuitenki sanoo, että sulla on "väärä" lokaali. Copypastea manuaalisivulta: "Note that 'alphabetic' is determined by the current locale. This means that in i.e. the default "C" locale, characters such as umlaut-A (Ä) will not be converted."
Edit: niin, ja tuota kysyt kuitenki seuraavaks: https://www.php.net/manual/en/function.
Nyt en ymmärtänyt
for($i = 0; $i < mysql_num_rows($kysely); $i++){ $id = mysql_result($kysely,$i,0); $nimi = mysql_result($kysely,$i,1); $nimi1 = strtolower($nimi); $nimi1 = str_replace("å", "a", $nimi); $nimi1 = str_replace("ä", "a", $nimi); $nimi1 = str_replace("ö", "o", $nimi); $nimi1 = str_replace(" ", "", $nimi); echo "<a href=\"{$_SERVER['PHP_SELF']}?sivu={$nimi1}\">$nimi</a> | "; }
tollanen koodi mulla on mutta toi strtolower ei toimi tuossa mutta jos laitan sen strtolower tohon linkin nämeen eli -->
for($i = 0; $i < mysql_num_rows($kysely); $i++){ $id = mysql_result($kysely,$i,0); $nimi = mysql_result($kysely,$i,1); $nimi = strtolower($nimi); $nimi1 = str_replace("å", "a", $nimi); $nimi1 = str_replace("ä", "a", $nimi); $nimi1 = str_replace("ö", "o", $nimi); $nimi1 = str_replace(" ", "", $nimi); echo "<a href=\"{$_SERVER['PHP_SELF']}?sivu={$nimi1}\">$nimi</a> | "; }
niin sitten se toimii
Etsi virhe :)
echo "<a href=\"{$_SERVER['PHP_SELF']}?sivu={$nimi1}\">$nimi</a> | "; }
Vinkki: ykkönen puuttuu muuttujasta
onhan siinä ykkönen ja ei se mun muistaakseni toimi vaikka laitan sen muuttujan vaan kirjaimiksi
Katoppas tarkemmin.
echo "<a href=\"{$_SERVER['PHP_SELF']}?sivu={$nimi1}\">$nimi</a> | "; }
Edit: Jaa, ei toimi noi muotoilutagit kooditagien sisällä. No mutta asiaan. Tuohon sivu-parametriin olet kyllä muistanut ykkösen laittaa, mutta et tuohon linkin tekstiin. Tosin jos et halua tuon itse tekstin ääkkösiä muuttaa, niin silloinhan tuo esittämäsi koodinpätkä toimii.
Miten olisi seuraava?
for($i = 0; $i < mysql_num_rows($kysely); $i++){ $id = mysql_result($kysely,$i,0); $nimi = mysql_result($kysely,$i,1); $param = strtolower($nimi); $param = str_replace("å", "a", $param); $param = str_replace("ä", "a", $param); $param = str_replace("ö", "o", $param); $param = str_replace(" ", "", $param); echo "<a href=\"{$_SERVER['PHP_SELF']}?sivu={$param}\">$nimi</a> | ";}
nyt toimii mut jos viittitte kattoo http://jykkemus.biz niin mikä niit linkkei vaivaa ku ä kirjain on tollanen ihme merkki
Blazehan tuolla jo aiemmin kysymykseen vastasi.
mikä tos on sit vikana ku en tie mikä on se locale juttu?
Aihe on jo aika vanha, joten et voi enää vastata siihen.