Autor | Zpráva | ||
---|---|---|---|
Pan X Profil |
#1 · Zasláno: 26. 8. 2011, 11:25:39 · Upravil/a: Pan X
Zdravím,
potřebuji nějakým způsobem rozdělit řetězec do array s tím, aby se zachovali všechny znaky. Mám tento řetezec: Dnes(12.6.2001) se kona .... Vsichni mohou prijit. a já tento text potřebuji po jednotlivých slovech rozsekat do array. Takto: array(10) { [0]=> string(0) "" [1]=> string(4) "Dnes" [2]=> string(11) "(12.6.2001)" [3]=> string(2) "se" [4]=> string(4) "kona" [5]=> string(4) "...." [6]=> string(7) "Vsichni" [7]=> string(5) "mohou" [8]=> string(7) "prijit." [9]=> string(0) "" } problém je že pokud použiju $key = preg_split("/[\s(]+/", $text); tak mi obsah v závorce tu začáteční odstraní v array zbyde [2]=> string(10) "12.6.2001)" Jak to upravit tak aby to závorku zachovalo celou? Předem díky |
||
motik Profil |
#2 · Zasláno: 26. 8. 2011, 15:02:45 · Upravil/a: motik
Pan X:
a funkce explode(); EDIT: $text = str_replace('(', ' (', $text); |
||
T.Thomas Profil * |
#3 · Zasláno: 26. 8. 2011, 15:42:15
motik:
Funkce explode() |
||
Johnik Profil |
#4 · Zasláno: 26. 8. 2011, 18:34:15
Spíš bych v prvním kroku nahradil buď "Dnes" za "Dnes " nebo závorku, když před sebou nemá mezeru na " (".
Pak bych použil explode s mezerou jako oddělovač. |
||
Majkl578 Profil |
#5 · Zasláno: 26. 8. 2011, 21:45:11
$text = 'Dnes(12.6.2001) se kona .... Vsichni mohou prijit.'; $textAry = preg_split('~(\s+|(?=\())~u', $text); var_dump($textAry); |
||
motik Profil |
#6 · Zasláno: 27. 8. 2011, 12:55:19
T.Thomas:
„by v tomto případě vypsala pouze 2 pole (před závorkou, a zbytek v celku).“ napsal jsem jen název funkce (ať se Pan X taky zapojí), ta druhá funkce (resp. by měla být první) není explode(), ale str_replace() a ta ti "doplní" tu mezeru před závorku. |
||
Časová prodleva: 13 let
|
0