Eli pitäisi tehdä sellainen php tai javascript- koodi joka estäisi sen että lauseen ensimmäinen kirjain olisi pieni. Olen itse vielä tavi php:ssä joten apua tarvittaisiin.
PHP:n ucfirst() -funktio
Ööh, sanoin että olen tavi, tiedän vain peruskomennot joten löytyisikö valmista scriptiä.
<?php $lause = 'lorem ipsum dolor sit amet...'; $lause = ucfirst($lause); echo $lause; // Lorem ipsum dolor sit amet... ?>
Paitsi muuttaako ucfirst() skandeja ilman jotain kikkailuja?
Eikös Mee kysynyt skriptiä, joka muuttaisi lauseen ensimmäisen kirjaimen pieneksi? Ei suureksi kuten ucfirst() tekee. :d
TGunner: ei.
Mielestäni ne on sanottu melko selvästi tässä:
Otsikko kirjoitti:
Pienen alkukirjaimen esto
ja tässä:
Mee kirjoitti:
pitäisi tehdä ... koodi joka estäisi sen että lauseen ensimmäinen kirjain olisi pieni.
Hehe, luulin olevani ovela, mutta silmissä on vikaa. En lukenut otsikkoa ja tuon virkkeen luin niin, että Mee pyytäisi koodia joka tekisi ensimmäisestä kirjaimesta ison.
Sori häiriötä. :-)
ajv kirjoitti:
Paitsi muuttaako ucfirst() skandeja ilman jotain kikkailuja?
Näyttäis riippuvan lokaalista. Jos suomilokaalia ylipäätään löytyy, luulenpa, ettei se kovin monessa paikassa oo oletuksena, joten setlocale(LC_ALL, 'fi_FI'); lienee paikallaan ennen tuon kutsumista.
<?php class EXTRA { protected $UC_CHARS = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕ֌؊ÙÚÛÜÝŽÞ"; protected $LC_CHARS = "àáâãäåæçèéêëìíîïðñòóôõöœøšùúûüýžþ"; function ucfirst2($value) { return ( $this->strtoupper2( substr( $value, 0, 1 ) ).$this->strtolower2( substr( $value, 1, strlen( $value ) ) ) ); } } $Extra = new EXTRA; $lause = 'lorem ipsum dolor sit amet...'; $lause = $Extra->ucfirst2($lause); echo $lause; // Lorem ipsum dolor sit amet... ?>
Toimii idioottivarmasti ja huomioi aakkoset sekä muut erikoismerkit kuten saksalainen y jne.
Tuosta edellisestä jäi puuttumaan pari puuttuvaa functiota jotka on sitten tässä (kokonainen luokka):
<?php class EXTRA { protected $UC_CHARS = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕ֌؊ÙÚÛÜÝŽÞ"; protected $LC_CHARS = "àáâãäåæçèéêëìíîïðñòóôõöœøšùúûüýžþ"; function strtolower2($value) { return ( strtolower ( strtr( $value, $this->UC_CHARS, $this->LC_CHARS ) ) ); } function strtoupper2($value) { return ( strtoupper( strtr( $value, $this->LC_CHARS, $this->UC_CHARS ) ) ); } function ucfirst2($value) { return ( $this->strtoupper2( substr( $value, 0, 1 ) ).$this->strtolower2( substr( $value, 1, strlen( $value ) ) ) ); } function ucwords2($value) { $upper = $this->strtoupper2($value); $value = $this->ucfirst2($value); $word_separators = chr(9).chr(10).chr(11).chr(12).chr(13).chr(32); $len = strlen($value) - 1; for ( $i = 0; $i < strlen($word_separators); $i++ ) { $separator = $word_separators[$i]; $pos = -1; while ( $pos !== false ) { $pos = strpos( $value, $separator, ( $pos + 1 ) ); if ( ( $pos !== false ) && ( $pos < $len ) ) { $value[ ( $pos + 1 ) ] = $upper[ ( $pos + 1 ) ]; } } } return ($value); } } $Extra = new EXTRA; $lause = 'lorem ipsum dolor sit amet...'; $lause = $Extra->ucfirst2($lause); echo $lause; // Lorem ipsum dolor sit amet... ?>
Ööh, kiitti kaikille mut saisko vielä jotenkin sen silleen että kun lomakkeen lähettäis nii toi muuttais tietyn kentän tietojen ensimmäisen kirjaimen isoksi ja sitten vasta lähettäisi sivun seuraavalle php koodille. Olen todellakin todella huono phpssä : (.
Mee kirjoitti:
kun lomakkeen lähettäis nii toi muuttais tietyn kentän tietojen ensimmäisen kirjaimen isoksi ja sitten vasta lähettäisi sivun seuraavalle php koodille.
Javaskriptillä, mutta se ei toimi luotettavasti, joten ei.
Aihe on jo aika vanha, joten et voi enää vastata siihen.