Autor | Zpráva | ||
---|---|---|---|
hajk Profil * |
#1 · Zasláno: 21. 1. 2015, 16:56:56
Používám utf-8 (PHP 5.2) a potřebuji do proměnné načítat vše před poslední mezerou v řetězci viz příklad:
$text = "nějaký text o žluťoučkém koníčkovi třeba"; očekávaný výsledek: $promenna = "nějaký text o žluťoučkém koníčkovi"; Díky, začínám ;-) |
||
Taps Profil |
hajk:
Níže uvádím dvě řešení <? $text = "nějaký text o žluťoučkém koníčkovi třeba"; $slova = explode(" ",$text); $posledni = array_pop($slova); unset($posledni); foreach($slova as $s){ $obsah[] = $s; } echo implode(" ",$obsah); ?> <? <?php $text = "nějaký text o žluťoučkém koníčkovi třeba"; if(strrpos($text," ") !== false){ $posledni = strrpos($text," "); } echo substr($text,0,$posledni); ?> ?> |
||
hajk Profil * |
#3 · Zasláno: 21. 1. 2015, 18:00:21
děkuji, akorát abych měl jasno, používám kódování utf-8 a někde jsem četl že funkce substr() počítá nějak špatně s tímto kódováním, nebo jsem si to popletl s něčím jiným?
Jdu to vyzkoušet....... |
||
lionel messi Profil |
#4 · Zasláno: 21. 1. 2015, 18:30:43
hajk:
„akorát abych měl jasno, používám kódování utf-8 a někde jsem četl že funkce substr() počítá nějak špatně s tímto kódováním, nebo jsem si to popletl s něčím jiným?“ Nepoplietol, Tapsove riešenia sú vynikajúce, pre prácu s dvojbajtovým kódovaním jednoducho zameň substr za mb_substr.
|
||
Chro. Profil |
#5 · Zasláno: 21. 1. 2015, 19:16:55
Nebo bez substr, strlen, count, cyklů...
$text = 'jedna dva tři čtyři'; $zkraceno = implode(' ', explode(' ', $text, -1)); //hodnota -1 parametru ve funkci explode způsobí ignoraci posledního prvku pole |
||
Časová prodleva: 10 let
|
0