nemuzu najit spravnou fci .. bze neumim hledat v manualu

tento tyden naposledy


potrebuji dostat z $text = "FC Barcelona"; toto ==> FCBarcelona a potom z toho chci mit FCB.... je mi jasne ze druhy krok provedu pres substr(); ale pro prvni krok jsem nenasel fci, vite nekdo?
co treba str_replace(); - mezery nahradit prazdnym retezcem
mno jo to me nenapadlo, zkusim dik
moment a jak zapisu mezeru ? " " ? bze v tomto pripade tam   neni..
:-)
Mezera je samozřejmě mezera v uvozovkách " ".
Takže takhle:
str_replace (" ", "", $text);

Protože nevím jak to fórum zobrazí, tak ještě raději verzi s podtržítkem - místo podtržítka dam dej prostě mezeru:
str_replace ("_", "", $text);
a co preg_replace("/[^A-Z]*/", "", $text)

"TJ Slavoj Bruntál" => "TJSB"

akorát bude asi dobré přidat i velká česká písmenka do regulárního výrazu...
Marek > naprosto zbytečné, i v manuálu je jasně řečeno, že regulární výrazy je dobré používat až když je to nutné, protože funkce pracující s nimi jsou mnohem pomalejší.
Když potřebuje nahradit mezeru prázdným znakem, je str_replace (" ", "", $text); naprosto postačující, rychlý, přehledný. A není potřeba řešit nějaká česká písmenka...
Navíc ten tvůj reg. výraz je napsaný zbytečně komplikovaně. Proč dělat něco jednoduše, když to jde složitě, že :-)
Tom: Reseni od MzM je ale finalni. str_replace() nestaci samo to, co chce 23k.
Aha já jsem zapomněl jak přesně zněl dotaz a teď už jsem si znovu první příspěvky nečetl.
V tom případě už je jenom otázka, jestli vždy půjde o třípísmenný výsledek. Pokud ano, preferoval bych stále str_replace následované substr. I když už bude rychlost asi sporná, přehlednost bude stále lepší protože regulární výrazy jsou nepřehledné značně. Zase ale asi jak pro koho. Stejně ale ten problém s jinými znaky než A-Z tam je a muselo by se to dále rozšiřovat nebo udělat jinak (ten reg. výraz).
while($i<strlen($retez))
{
$znak=substr($retez,$i,1);
if($znak==ucase($znak)) $vysledek.=$znak;
}

Nezkoušeno, pravděpodobně špatně zapsané funkce, ale myšlenka je snad jasná ;)