Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Teksti näkymään kirjaimina

newbiekoodaaja [14.01.2007 12:35:52]

#

Miten tälläisen saisi yksinkertaisesti koodattua?

http://www.pimpmyspace.org/myspaceglittertext.php

Eli kun kirjottaa tekstiä ja painaa ok niin se näyttää tekstin jokaisen kirjaimen kuvana. eli a = a.gif


edit: tulipa tyhmä otsikon nimi :D

Agony [14.01.2007 12:59:28]

#

Pimpmyspacessa on näköjään vain koodi joka käy läpi tekstin ja tulostaa kirjaimia peräkkäin, siellä siis toteutus on jota kuinkin näin:

<?php

// Otetaan sana vastaan lomakkeelta
$sSana = stripslashes($_POST['sana']);

// Käydään merkkijono yksi kerrallaan läpi
$sTulos = null;
for ($i=0;$i<strlen($sSana);$i++) {

    //Kuva, tyhjänä tyhja.gif, muuten kirjain.gif
    $sKuva = (empty($sSana{$i})) ? "tyhja.gif" : $sSana{$i} . ".gif";

    // Liitetään kuva tulokseen
    $sTulos .= "<img src=\"{$sKuva}\" alt=\"" . $sSana{$i} . "\" />";
}

// Tulostetaan
echo $sTulos;
?>

Tosin tuon voisi tehdä nerokkaammin GD-kirjastolla, sillä ylläesitetty tapa vaatii että jokaisella kirjaimella on oma kuva.

EDIT: koodissa bugi
EDIT2: Koodi tekee eron suurten ja pienien kirjainten välillä, jos haluaa tukea vain jompaa kumpaa, kannattaa kurkata strtolower() ja strtoupper().

newbiekoodaaja [14.01.2007 13:29:22]

#

Hmm. En saanu tulostettua mitään?

<form method="post" action="generoija.php">

<tr>
<td>Teksti:</td>
<td><input name="text" type="text" id="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td><input name="submit" type="submit" value="Näytä" /></td>
</tr>
</form>

edit: Nyt toimii :) Kiitos!

EDIT2: Vielä yksi kysymys tähän liittyen. Eli mulla on kirjaimet kansiossa: pienet_kirjaimet\ niin miten saan ne ladattua tuolta kansiosta? Nythän se lataa ne kirjaimet tuosta samasta kansiosta missä on tuo generoija.php

EDIT3: pienen mietinnän jälkeen ongelma ratkastu :P

newbiekoodaaja [15.01.2007 00:14:32]

#

//Kuva, tyhjänä tyhja.gif, muuten kirjain.gif
$sKuva = (empty($sSana{$i})) ? "tyhja.gif" : $sSana{$i} . ".gif";

Tuosta sen verran vielä että tuo ei pistä kuvaksi tyhja.gif:iä jos pistää välilyönnin. Tulee vain .gif joka näkyy rastina explorerilla.

Blaze [15.01.2007 00:48:37]

#

Välilyöntikin on merkki, siispä empty($sSana{$i}) ei toteudu sen kohdalla. Laita ehdoksi $sSana{$i} == ' ' niin homma pelaa.

Agony [15.01.2007 08:06:30]

#

Tosiaan, empty reagoi vain null, false, '', 0, '0', array() ja kuulutettuun muuttujaan... Blazen esimerkillä toimii.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta