ugrás a tartalomhoz

Szövegfájlból tartalom kinyerése

Tanul0 · 2010. Okt. 25. (H), 16.33
Üdv!

Adott egy log fájl.

test.log

ennek a tartalma lehet:

valami akarmi nagmeg persze valami ezkellene-lehetbenne-szamis-123.dem ez itt folytatodik
ezt a tartalmat betöltöm és meg szeretném benne kapni az összes .dem végű fájlnevet.

Jelenleg a kódom:

	$loadcontent = './test.log'; 
	$loadcontent = file_get_contents($loadcontent);
	$loadcontent = str_replace('/r/n', ' ', $anyad);
	
	preg_match_all('/("|\').+?.dem("|\')/si', $anyad, $matches);

	for($i=0; $i<(count($matches)-1); $i++){
		echo $matches[$i].'<br>';
	}
de ez sajnos csak üres tömböket ad vissza.
 
1

$loadcontent = './test.log';

Tanul0 · 2010. Okt. 25. (H), 16.55

 $loadcontent = './test.log';   
 $loadcontent = file_get_contents($loadcontent);  
 $loadcontent = str_replace('/r/n', ' ', $loadcontent);  
   
 preg_match_all('/("|\').+?.dem("|\')/si', $loadcontent, $matches);  
   
 for($i=0; $i<(count($matches)-1); $i++){  
     echo $matches[$i].'<br>';  
 }  
Bocsánat, elfelejtettem átírni az *nyad-at, két helyen. Már picit ideges voltam, mégegyszer elnézést. A problémám továbbra is fennáll.
2

$loadcontent =

kuka · 2010. Okt. 25. (H), 16.58
$loadcontent = str_replace('/r/n', ' ', $anyad);
Mi is volt az $anyad értéke a függvény meghívása előtt?
Biztos, hogy a "/r/n" (tehát 4 karakter) karakterláncot akarod lecserélni?
preg_match_all('/("|\').+?.dem("|\')/si', $anyad, $matches);
Ha az idézőjeleket és felsővesszőket kapod el, amik a példa szövegben nincsenek, akkor miért is akarsz mást kapni?

Biztos vagy, hogy a feladat megfogalmazása nem szorul pontosításra?
3

fentebb leírtam, hogy az

Tanul0 · 2010. Okt. 25. (H), 17.11
fentebb leírtam, hogy az *nyad változó az valójában a $loadcontent, csak elfelejtettem átírni két helyen, mert ugye azért ez csak nem közösségi oldalra való, szégyenlem is magamat miatta :(

a /r/n-t azért cserélem le, mert a szövegfájlból a sortöréseket így kapom meg, és erre nincs szükségem, ezért lecserélem egy szóközre.

Igen, ez a problémám, hogy a preg_match-et sajnos nem tudom milyen pattern-t kelene neki megadni, hogy ezeket kapjam meg.
4

Nem inkább a \r\n-t kellene

neogee · 2010. Okt. 25. (H), 17.35
Nem inkább a \r\n-t kellene lecserélni? :)))
5

DE! -.-

Tanul0 · 2010. Okt. 25. (H), 17.38
DE! -.-
6

Nem igazán értem egyébként,

neogee · 2010. Okt. 25. (H), 17.43
Nem igazán értem egyébként, hogy pontosan mi lenne a log fileban, de nekem így csak a fileneveket találja meg:
<?php

$str = 'valami akarmi nagmeg persze valami ezkellene-lehetbenne-szamis-123.dem ez itt folytatodik
	valami akarmi nagmeg persze valami ezkellene-lehetbenne-szamis-123.dem ez itt folytatodik
	valami akarmi nagmeg persze valami ezkellene-lehetbenne-szamis-123.dem ez itt folytatodikvalami akarmi nagmeg persze valami ezkellene-lehetbenne-szamis-123.dem ez itt folytatodik
	valami akarmi nagmeg persze valami ezkellene-lehetbenne-szamis-123.dem ez itt folytatodik
	';

$pattern = '/[a-z0-9\-]+\.dem/i';
preg_match_all( $pattern , $str , $m );

print '<pre>';
print_r($m);
print '</pre>';

?>
Eredmény:
Array
(
[0] => Array
(
[0] => ezkellene-lehetbenne-szamis-123.dem
[1] => ezkellene-lehetbenne-szamis-123.dem
[2] => ezkellene-lehetbenne-szamis-123.dem
[3] => ezkellene-lehetbenne-szamis-123.dem
[4] => ezkellene-lehetbenne-szamis-123.dem
)

)
8

Köszönöm szépen! Egy picit

Tanul0 · 2010. Okt. 25. (H), 17.54
Köszönöm szépen!
Egy picit javítottam bele, de működik!

$pattern = '/\s[a-z0-9._-]+\.dem/i';  
preg_match_all( $pattern , $str , $m );  
Egyébként egy program fájlokat készít, aminek csak a logfájljában látom az elkészült fájlokat, és ezeket kell linkelnem, hogy letölthető legyen!

Üdv!
I(L)WL
7

Igen, ez a problémám, hogy a

kuka · 2010. Okt. 25. (H), 17.44
Igen, ez a problémám, hogy a preg_match-et sajnos nem tudom milyen pattern-t kelene neki megadni, hogy ezeket kapjam meg.
A reguláris kifejezésedben kiemelten kezeled az idezőjelet és a felsővesszőt, de a feladat leírásában nem tettel róluk említést. Erről adnál bővebb felvilágosítást?
9

Esetleg ha adnál némi

neogee · 2010. Okt. 25. (H), 17.54
Esetleg ha adnál némi támpontot, mondjuk egy példaszöveggel, hogy pontosan milyen esetekben kellene találatot kapnod a filenevek esetében, és melyek a valid filenvek és melyek nem, az sokat segítene a minta elkészítésében. :)