Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Pienen alkukirjaimen esto

Sivun loppuun

Mee [05.12.2006 15:29:28]

#

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.

El-Ejecutor [05.12.2006 15:51:13]

#

PHP:n ucfirst() -funktio

Mee [05.12.2006 16:29:00]

#

Ööh, sanoin että olen tavi, tiedän vain peruskomennot joten löytyisikö valmista scriptiä.

ajv [05.12.2006 16:38:13]

#

<?php
$lause = 'lorem ipsum dolor sit amet...';
$lause = ucfirst($lause);
echo $lause; // Lorem ipsum dolor sit amet...
?>

Paitsi muuttaako ucfirst() skandeja ilman jotain kikkailuja?

tgunner [05.12.2006 16:44:25]

#

Eikös Mee kysynyt skriptiä, joka muuttaisi lauseen ensimmäisen kirjaimen pieneksi? Ei suureksi kuten ucfirst() tekee. :d

Lebe80 [05.12.2006 16:46:37]

#

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.

tgunner [05.12.2006 17:05:25]

#

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ä. :-)

Blaze [05.12.2006 17:19:07]

#

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.

Wizard [05.12.2006 17:22:00]

#

<?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.

Wizard [06.12.2006 08:18:19]

#

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...

?>

Mee [07.12.2006 17:23:12]

#

Öö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ä : (.

Blaze [07.12.2006 17:33:17]

#

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.


Sivun alkuun

Vastaus

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

Tietoa sivustosta