Autor Zpráva
Hologos
Profil
Zdravím,
potřebuji následující a vůbec nevím, jak to napsat elegantně (vím, jak to udělat prasácky, ale třeba to jde jednoduše).

Mám jako vstup třeba: show-categories
A já potřebuji, aby se mi tento řetězec na showCategories.

Můj postup je takový:
		$result = '';
		$pozice = -1;
		for($i = 0; $i < String::length($input); $i++)
		{
			if($input[$i] === '-')
				$pozice = $i + 1;
			else
			{
				if($i === $pozice)
					$result .= String::toUpper($input[$i]);
				else
					$result .= $input[$i];
			}
		}
Laman
Profil
nevím, jestli je moje řešení skutečně lepší, ale tady jsou 2 návrhy:

$result=str_replace("-"," ",$input);
$result=ucwords($result);
$result=str_replace(" ","",$result);
$result=lcfirst($result);

anebo

$result=explode("-",$input);
for($i=1;$i<count($result);$i++){$result[$i]=ucfirst($result[$i]);}
$result=implode("",$result);
Hologos
Profil
Ta první verze se mi lidí, jelikož se dá napsat jako
return lcfirst(str_replace(" ","", ucwords(str_replace("-"," ",$input))));

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: