Autor Zpráva
Tino
Profil *
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 *
$text = "25896|niejaký text";
$zmena = preg_replace("25896|", '', $text);
echo $zmena;
místo toho echa si dej třeba update do db nebo fwrite do txt souboru prostě co potřebuješ....
Tino
Profil *
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
Rozdělit buď podle | nebo od určité pozice znaku na řádku, nelze říct, co je vhodnější.
Fisak
Profil *
rozdělení textu:
$pieces = explode("|",$text); 
 $prvnicast = $pieces[0];
 $druhacast= $pieces[1];
tohle taky můžeš použít :-)
Tino
Profil *
ďakujem ďakujem mi to pomohlo Fisak
DoubleThink
Profil *
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 *
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 *
místo readfile použij fci file_get_contents
Tino
Profil *
dik a ešte cez aký kod to zapíšem vysledný text napr do db.txt ? :-/
Davex
Profil
file_put_contents()
Tino
Profil *
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 *
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
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 *
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);

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0