Autor | Zpráva | ||
---|---|---|---|
capricorn Profil |
#1 · Zasláno: 5. 9. 2008, 12:28:46
Zdravim, nize uvedeny priklad nikdy nenastane, ale kdyby nahodou nastal, tak to chci mit osetrene. Cele se to chova, jako kdyby tam zadna podminka nebyla. Pokud nekoho napada lepsi reseni, tak se rad priucim.
$text = ";;; ;;; ;; jedna ; dvě; ;tři; ;dnes je pátek ;dvě; dvě;"; $pole = array(); $text = explode(";", $text); foreach($text as $klic => $hodnota){ if((!in_array($hodnota, $pole)) && (!empty($hodnota))){ $pole[] = str_replace(" ", "-", trim($hodnota)); } } echo implode(";", $pole); Melo by vypsat: jedna;dvě;tři;dnes-je-pátek Ale vypise : ;;jedna;dvě;;tři;;dnes-je-pátek;dvě |
||
trinitrochleba Profil * |
#2 · Zasláno: 5. 9. 2008, 12:53:48
$text = ";;; ;;; ;; jedna ; dvě; ;tři; ;dnes je pátek ;dvě; dvě;";
$pole = array(); $text = explode(";", $text); foreach($text as $klic => $hodnota){ if((!in_array(trim($hodnota), $pole)) && (!empty($hodnota))){ $pole[] = str_replace(" ", "-", trim($hodnota)); } } echo implode(";", $pole); |
||
capricorn Profil |
#3 · Zasláno: 5. 9. 2008, 13:15:10
trinitrochleba
Jasne, odstranit netisknutelne znaky i z $hodnota. Ale ted tam zase dela neplechu prazdna hodnota, protoze to vypise ;jedna;dvě;tři;dnes-je-pátek, i kdyz je tam podminka, ktera rika, ze do pole se maji pridat hodnoty, ktere tam nejsou a obsahuji nejakou hodnotu. |
||
nightfish Profil |
#4 · Zasláno: 5. 9. 2008, 13:22:19
capricorn
„if((!in_array(trim($hodnota), $pole)) && (trim($hodnota) != "")){ “ |
||
capricorn Profil |
#5 · Zasláno: 5. 9. 2008, 13:37:34
nightfish
Presne, tohle jsem potreboval. Diky. |
||
capricorn Profil |
#6 · Zasláno: 5. 9. 2008, 13:39:21 · Upravil/a: capricorn
Znovu opakuji, za tato situace nikdy nenastane, ale presto by mne zajimalo, jestli jde osetrit vetsi mezera, t.j.
$text = ";;; ;;; ;; jedna ; dvě; ;tři; ;dnes je" "pátek ;dvě; dvě;"; EDIT: Mezeru jsem simulovat " tady je mezera " |
||
Časová prodleva: 17 let
|
0