[ Daki_KING @ 03.03.2012. 13:31 ] @
Dal neko zna kako ide php kod za citanje iz neke tekstualne datoteke ali ne cele datoteke nego samo odredjeni deo.
Npr imam neku datoteku koja izgleda ovako

Code:
 Ovo je neka tekstualna
 datoteka koja ima 1000 reci 


e sad kako ja da iz ove datoteke npr izvadim samo ovo "neka tekstualna \n datoteka"

Googlao sam ali nikako da nadjem ovo...
[ plus_minus @ 03.03.2012. 13:36 ] @
Da li je broj reči/slova koji ti treba iz te neke datoteke uvek isti ili ne?
[ Daki_KING @ 03.03.2012. 13:51 ] @
Citat:
plus_minus: Da li je broj reči/slova koji ti treba iz te neke datoteke uvek isti ili ne?


Nije...

Datoteka izgleda ovako

Code:

1
Neke informacije1
Neke informacije1
Neke informacije1

2
Neke informacije2
Neke informacije2
Neke informacije2

3
Neke informacije3
Neke informacije3
Neke informacije3
...


E sad bi meni trebao kod koji npr vadi samo ovaj deo

Code:

2
Neke informacije2
Neke informacije2
Neke informacije2


od broja 2 do broja 3 da vadi taj deo
[ plus_minus @ 03.03.2012. 13:56 ] @
Prvo što mi pada na pamet jeste kombinacija strlen i substr funkcija.

A možeš da se pozabaviš i sa strpbk.

A kako dovući tekst iz kojeg treba da se odstrani deo teksta?

Verovatno sa file_get_contents.. jel' da?
[ Daki_KING @ 03.03.2012. 14:32 ] @
Citat:
plus_minus: Prvo što mi pada na pamet jeste kombinacija strlen i substr funkcija.

A možeš da se pozabaviš i sa strpbk.

A kako dovući tekst iz kojeg treba da se odstrani deo teksta?

Verovatno sa file_get_contents.. jel' da?



kolko sam skontao ova funkcija strpbrk() proverava da li se neko slovo ili vise njih nalazi u nekom stringu ... Meni to ne treba ... :)
a tekst iz datoteke vadim sa fopen ("datoteka.txt","r") ,
inace ja sam privremeno resio problem tako sto sve ove informacije "nakrkam" u jednom redu

Code:
1. Neke informacije1 Neke informacije1 Neke informacije1
2. Neke informacije2 Neke informacije2 Neke informacije2
3. Neke informacije3 Neke informacije3 Neke informacije3
...


pa uzimam karakter po karakter i proveravam da li je to novi red (\n) i tako znam u kom sam redu.

Code:

$novi_red=1;
$br = 2; //primer stampanja informacija za br 2
echo " <font color = white><b> Br:     ", $br, "</b> </font> <BR><BR><BR><BR><BR><BR>" ;

$datoteka = fopen ("dat.txt","r");

while ( !feof ($datoteka) )
                                {     $s = fgetc ($datoteka);
                                    
                                    if ($s == "\n")
                                        {
                                        $novi_red++;
                                        }
                                    
                                    if ( $br == $novi_red )
                                        {
                                        echo $s;
                                        }
                                }
fclose ($datoteka);






[Ovu poruku je menjao Daki_KING dana 03.03.2012. u 15:42 GMT+1]
[ peca89bg @ 03.03.2012. 14:37 ] @
Imas f-ju fgets koja hvata liniju iz fajla.
[ plus_minus @ 03.03.2012. 14:55 ] @
@Daki_KING

Mali savet.

fopen();
fread(); ili fwrite();
fclose();

Jel' tako?

E, file_get_contents(); ili file_put_contents(); funkcije su napravljene i dodate arsenalu kako bi te tri odozgo koristio iz jednog maha.

Dakle, file_get_contents() radi potpuno isto što i fopen(), fread(), fclose(), s' tim što ne moraš da daješ fclose() za zatvaranje fajla, 'embedovano' je u samoj file_get_contents() funkciji.
Pored toga, file_get_contents() šljaka i za procenat brže. Za streaming je već malo drugačije.

Što se tiče strpbrk funkcije, u kombinaciji sa substr() možeš da od zadatog karaktera iščupaš baš ono što ti treba, inače si dobro pročitao.

Recimo,..

Code (php):


$mail = '[email protected]';
$make_ip_from_email = gethostbyname(substr(strpbrk($mail, '@'),1));
echo $make_ip_from_email;

 


Zahvaljujući strpbrk funkciji, ovo gore od email adrese extractuje samo domain i onda gethostbyname daje IP zapravo DNS samog domena.

Treba da se prekrsti to gore u make_dns_from_email

Ako je domen nevalidan, dakle [email protected]
ovo gore će vratiti samo gmmmoooil.cem

Dakle, strpbrk ne mora da se koristi baš za ono što je tamo napisano, tako kako je napisano.

Pozabavi se i sa stristr i strstr.. a možda je samo strpos() sasvim dovoljan.

Sve u svemu, to što ti hoćeš, može da se odradi na više načina i svaki bi bio - korektan.