Autor | Zpráva | ||
---|---|---|---|
Sh0wM3 Profil * |
#1 · Zasláno: 10. 4. 2014, 13:31:15
Zdravím,
měl bych takový dotaz. Jedná se o dotaz s fcemi substr a strpos. Tyto funkce používám minimálně, proto už vážně nevím. :D Jedná se o to, že mám řekněme jeden velký soubor, z kterého tahám informace a rozděluji je - řádek po řádku, řádky jsou buď oddělené mezerou, nebo pomlčkou a potřebuji rozdělit jednu věc na dva a ta je zapsaná v tomto formátu: Trolo: Text[ Druhý text ] A já potřebuju dostat to "Text" a "Druhý text", ale nedaří se mi to. :D Už přesně nevím, jak jsem na to šel, jednou se mi to podařilo rozparsovat, ale pak už to nefungovalo. :D Tuším ale, že to bylo nějak takhle: substr($retezec, strpos($retezec, +7); Je mi jasné, že tam musí být ten substr a strpos ještě jednou, ale vážně nevím už jak. S touto fcí jsem dělal dohromady asi 2x. :D Doufám, že mě chápete a díky za případné rady. :D |
||
peta Profil |
<?php echo '<pre>'; $str = "Trolo: Text[ Druhý text ]"; $a = strpos($str,':'); $b = strpos($str,'[',$a); $c = strrpos($str,']'); $parsed = array( substr($str,$a+1,$b-$a-1), substr($str,$b+1,$c-$b-1) ); print_r($parsed); $patt = '~\:(.*)\[(.*)\]~'; preg_match_all($patt,$str,$matches); print_r($matches); ?> |
||
Sh0wM3 Profil |
#3 · Zasláno: 10. 4. 2014, 18:12:13
Trochu špatně jsem to napsal.
Formát je takový: IP [Datum | Čas] Bla - Trolo: Text[ Druhý text ], zkoušel jsem to upravovat, to co jsi mi poslal, ale jaksi nejde. Jednoduše mi to tam jen jakoby přepíše ten řádek, ale nevytáhne údaje. A koukal jsem se na web a zkusil to podle toho nějak složit, ale nepovedlo se, proto jsem také tady. :) |
||
peta Profil |
#4 · Zasláno: 11. 4. 2014, 07:43:48
Sh0wM3: Nevidel jsem tvuj kod, co cekas, ze ti poradim? Zmenil jsi zadani! Pro
$str = "IP [Datum | Čas] Bla - Trolo: Text[ Druhý text ]"; |
||
Sh0wM3 Profil |
#5 · Zasláno: 11. 4. 2014, 08:54:39
Nejde, protože v tom času je taky dvojtečka.
A když jsem tam zkusil dát $a = strpos($str,'Trolo:'); tak taktéž nešlo. |
||
peta Profil |
Sh0wM3: To opet menis zadani! Zkus napsat konecne spravne zadani! Kdyz mas jiny retezec, nez napises, jak to mam asi vedet?
Napsal jsi, ze mas text IP [Datum | Čas] Bla - Trolo: Text[ Druhý text ]
Druha dvojtecka se hleda uplne stejne jako prvni, jen musis zmenit vychozi pozici pro hledani jako predchozi dvojtecky. Protoze, kdyz nic nenapises, je to nula, tudiz od zacatku a skonci u prvni dvojtecky. Nic, co byt podle manualu nezvladl. Nebo muzes dvojtecku hledat pozpatku strrpos. |
||
Časová prodleva: 10 let
|
0