Ostatní

Když se to nevejde jinam, hodí se to sem.

PHP mb_ucfirst a mb_lcfirst

V PHP funkce ucfirst, která převede první znak v řetězci na velké písmeno. Stejně jako ostatní PHP funkce pro zvětšování a zmenšování písmen si ale neporadí s diakritikou. PHP to řeší knihovnou Multibyte String Functions. Háček je, že zrovna funkce mb_ucfirst zde zastoupena není.

Není to ideální, ale dá se s tím něco dělat. Náhražková funkce může vypadat takto:

function mb_ucfirst($string, $encoding = null) {
	if (is_null($encoding)) {
		$encoding = mb_internal_encoding();
	}
	return mb_strtoupper(mb_substr($string, 0, 1, $encoding)).mb_substr($string, 1, null, $encoding);
}

Zmenšit první písmeno není potřeba tak často, ale můžeme se to stát. Stejně jako ucfirst, tak ani lcfirst nemá svoji mb_ variantu. Řešení je stejné, jen mb_strtoupper vyměníme za mb_strtolower.

function mb_lcfirst($string, $encoding = null) {
	if (is_null($encoding)) {
		$encoding = mb_internal_encoding();
	}
	return mb_strtolower(mb_substr($string, 0, 1, $encoding)).mb_substr($string, 1, null, $encoding);
}

Ano, bylo by krásné, kdyby PHP nabízelo i tyto mb_ funkce. Ještě krásnější by bylo, kdyby základní funkce pro práci s řetězci byli multibyte safe. Jenže jako to tak vypadá, ani jedno není na pořadu dne.

7 důvodů, proč je robotický vysavač lepší než pes

  1. Nepouští chlupy – naopak.
  2. Žere maximálně 30 wattů.
  3. Potřebuje vyvenčit (vysypat kontejner do popelnice) jen jednou, maximálně dvakrát do týdne.
  4. Je podstatně tišší.
  5. Nedělá loužičky.
  6. Ikdyž vám rozhází kabely nebo pantofle, nikdy je nerozkouše.
  7. Nemusíte se s ním prát, když ho jednou za rok chcete vyčistit.

Provoz dlouhodobě omezen

Po delší spolupráci jsem se 1. 9. 2014 stal zaměstnancem České televize. Vzhledem k tomu, že se jedná o práci na plný úvazek, nebudu do odvolání přijímat žádné nové zakázky. Služby stávajícím zákazníkům se však budu snažit i nadále poskytovat v maximální možné míře.