Autor Zpráva
Majkelju
Profil
Ahoj, mám v proměnné uloženo např. Hello world a chci, aby se mi do jiné proměnné uložilo jen Hello. Samozřejmě počet znaků slov se může lišit. Jak tedy docílit, aby se mi to s první mezerou utlo a uložilo jen slovo, které chci (to první) a pokud možno k tomu nepoužít cyklus?
ShiraNai7
Profil
Majkelju:

První možnost (PHP 5.4+.. pro starší třeba použít další proměnnou):
$prvniSlovo = explode(' ', $text)[0];

Druhá možost (tuhle bych použil):
$mezera = strpos($text, ' ');
if(false !== $mezera) $prvniSlovo = substr($text, 0, $mezera);
else $prvniSlovo = $text; // jen1 slovo.. neni mezera

Taky to jde regulárama a tak dále.. záleží na tom, co fakticky potřebuješ.
Majkelju
Profil
Díky moc, ta první možnost podle mě vypadá nejlíp :) Mám už docela nepřehledný kód a nechtěl jsem tam kvůli něčemu takovému vkládat x řádků navíc, takže řešení na jeden řádek je parádní :o)
ShiraNai7
Profil
První možnost je nejlepší pro krátké vstupy. Kdybys potřeboval první slovo z delšího textu tak by byla efektivnější druhá možnost.
Majkelju
Profil
Právě že mám vždy dvouslovný výraz, který tahám z db a je pro mě relevantní jen první část. Funguje to pěkně :)

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: