Autor | Zpráva | ||
---|---|---|---|
Tino Profil * |
#1 · Zasláno: 29. 12. 2011, 17:01:32
Zdravim,
Mam menší problem keď že mam velkú db určitého textu napr. 25896|niejaký text a vypisujem ho z .txt do php a chcel by som aby vypísalo text až od 6 stpčeka aby mi nezobrazovalo tie číslice (25896|) a mazať ich by som strávil par rokov :D ďakujem za každú pomoc ;-) |
||
Fisak Profil * |
#2 · Zasláno: 29. 12. 2011, 17:07:41
$text = "25896|niejaký text"; $zmena = preg_replace("25896|", '', $text); echo $zmena; |
||
Tino Profil * |
#3 · Zasláno: 29. 12. 2011, 17:14:18
prosim ta mohol by si mi to napis tak aby som tomu pochopil nerozumiem php dokonale
do tohto $text = "25896|niejaký text"; ako dam napr. aby to čítalo z každého riadku a zo súbora db.txt $zmena = preg_replace("25896|", '', $text); tu na som to pochopil ibaže každý riadok ma iné číslo :-/ |
||
Alphard Profil |
#4 · Zasláno: 29. 12. 2011, 17:37:19
Rozdělit buď podle | nebo od určité pozice znaku na řádku, nelze říct, co je vhodnější.
|
||
Fisak Profil * |
#5 · Zasláno: 29. 12. 2011, 18:00:53
rozdělení textu:
$pieces = explode("|",$text); $prvnicast = $pieces[0]; $druhacast= $pieces[1]; |
||
Tino Profil * |
#6 · Zasláno: 29. 12. 2011, 18:05:29
ďakujem ďakujem mi to pomohlo Fisak
|
||
DoubleThink Profil * |
#7 · Zasláno: 29. 12. 2011, 18:11:33
Fisak:
„$zmena = preg_replace("25896|", '', $text);“ První argument funkce preg_replace je regulární výraz, toto skončí chybou. „$pieces = explode("|",$text);“ A tohle bude pro změnu produkovat nesmysly. Nejdřív je potřeba separovat řádky, pak sloupce. Jinak z toho bude nespecifikovaná kaše. |
||
Tino Profil * |
#8 · Zasláno: 29. 12. 2011, 18:35:08
Skušal som niečo také
<?php $text = readfile('text.txt'); $pieces = explode("|",$text); $prvnicast = $pieces[0]; $druhacast= $pieces[1]; echo "$druhacast"; ?> ibaže mi to nefunguje ale keď zadam čísto text do $text tak to funguje |
||
Fisak Profil * |
#9 · Zasláno: 29. 12. 2011, 18:54:27
místo readfile použij fci file_get_contents
|
||
Tino Profil * |
#10 · Zasláno: 29. 12. 2011, 19:13:03
dik a ešte cez aký kod to zapíšem vysledný text napr do db.txt ? :-/
|
||
Davex Profil |
#11 · Zasláno: 29. 12. 2011, 19:50:40
file_put_contents() |
||
Tino Profil * |
#12 · Zasláno: 29. 12. 2011, 23:02:28 · Upravil/a: Tino
dik moc ;-) ďakujem všetkým ktorí mi poholi
Prepáčte že ešte otravujem ale mam cez 20 tisic riadkov a ono to hodi iba prvý riadok čim to je ? alebo čo tam mám ešte dodať ? celý kod <?php $text = file_get_contents('db1.txt'); $pieces = explode("|",$text); $prvnicast = $pieces[0]; $druhacast= $pieces[1]; file_put_contents("db.txt", $druhacast); print("$druhacast"); ?> |
||
Tino Profil * |
#13 · Zasláno: 30. 12. 2011, 12:45:47
Pozmenil som trošku kod aby mi to spravilo aj ostatne riadky iba že mi to nič nezapíše
<?php $text = file_get_contents('maily.txt'); $pieces = explode("|",$text); $prvnicast = $pieces[0]; $druhacast= $pieces[1]; for ($i=1; $i<count($druhacast); $i++) {$druhacast= $pieces[$i];} // ulozime do suboru $fp = fopen("text.txt", "w"); fwrite( $fp , $output); fclose($fp); ?> |
||
Ugo Profil |
#14 · Zasláno: 30. 12. 2011, 12:58:18 · Upravil/a: Ugo
Tino:
toto vůbec nedává smysl 1. $druhacast už není pole 2. přiřazuješ do ní ve špatnym foru to samé co předtím (tím bys asi získal i nekonečnou smyčku) 3. $output neexistuje jestli předpokládám správně, že 24567| je na každém řádku, tak buď můžeš projít soubor přes fget a vždy vzít jeden řádek z kterého to uřízneš a nebo jen uprav ten regulár z první odpovědi. $text=file_get_contents(); $text= preg_replace("#\d+\|#", '', $text); |
||
Tino Profil * |
#15 · Zasláno: 30. 12. 2011, 13:21:55
Mno mne to funguje tak ako ma iba že je tam zhruba 20 tisic riadkov ako som už písal ale vždy mi zapíše iba prvý riadok ktorí už upravý pomocou
$pieces = explode("|",$text);
|
||
Časová prodleva: 12 let
|
0