sijo55 Skrevet 2. april 2010 Del Skrevet 2. april 2010 Kan noen hjelpe meg med følgende problem: Jeg bruker preg_match og file_get_contents for å finne tekst i filer. Når teksten er funnet i en fil ønsker jeg å også finne linjenummeret denne teksten befinner seg på. Noen som har gode ideer om hvordan dette kan gjøres, helst med eksempler? Takker på forhånd! Lenke til kommentar
BlueEAGLE Skrevet 2. april 2010 Del Skrevet 2. april 2010 Hva er en linje? Er en linje delt med [ENTER] eller er det alltid ny linje hver 40. tegn? I såfall, hvor bred er en tabulator? Lenke til kommentar
sijo55 Skrevet 2. april 2010 Forfatter Del Skrevet 2. april 2010 Hva er en linje? Er en linje delt med [ENTER] eller er det alltid ny linje hver 40. tegn? Svømmer fisken? Flyr fuglen? Ender en linje med \n ? I såfall, hvor bred er en tabulator? Min tabulator er nøyaktig 2,2 cm bred, men det kommer an på hvilket tastatur du har. Ellers noe du lurte på? (Om du ikke har en løsning på mitt problem, så kan du la være å svare.) Lenke til kommentar
Ernie Skrevet 2. april 2010 Del Skrevet 2. april 2010 HVA?! Her stilles det et seriøst spørsmål og du svarer slik? Fikk ikke mye lyst til å hjelpe til nå for å si det sånn … For ordenskyld, ikke noe problem å lage en fil hvor linjene er separert med en annen linjeskift (som forøvrig i Windows-verden er \r\n), og de trenger heller ikke å være separert med noe som helst hvis det har en fast bredde med «padding» når linja er mindre enn linjebredden. F.eks. Dette er en linje Dette er en annen En tredje linje Her er linjebredden 20 tegn. Siden du tydeligvis ikke har fast linjebredde så hjelper det deg sikkert veldig lite når jeg sier at fast linjebredde gjør det enkelte å regne ut hvilken linje man er på ut fra byte-posisjonen i filen (byte-posisjon / linjebredden + 1). Lenke til kommentar
sijo55 Skrevet 3. april 2010 Forfatter Del Skrevet 3. april 2010 Her er linjebredden 20 tegn. Siden du tydeligvis ikke har fast linjebredde så hjelper det deg sikkert veldig lite når jeg sier at fast linjebredde gjør det enkelte å regne ut hvilken linje man er på ut fra byte-posisjonen i filen (byte-posisjon / linjebredden + 1). Takk for svar selv om det egentlig ikke hjalp meg så mye. Jeg jobber med et program som scanner etter mistenkelig/skadelig kode, hovedsaklig i .php filer. Om slik kode er funnet, ønsker jeg å oppgi i rapporten som programmet genererer, også linjenummeret dette er funnet på og ikke bare filbane, filnavn og hvilken kode funnet. Jeg kan selvsagt lage meg en egen linjeteller funksjon, men da blir programmet alt for tregt i å utføre jobben. Derfor lurte jeg på om det lot seg gjøre på en enkel måte å finne linjenummer når jeg bruker file_get_contents ? Lenke til kommentar
TheClown Skrevet 3. april 2010 Del Skrevet 3. april 2010 http://davidwalsh.name/php-magic-constants __LINE__ har jeg brukt flere ganger til error-reporting, men jeg veit ikke om det kan brukes i ditt tilfelle. Verdt å ta en titt på, mener jeg. Lenke til kommentar
sijo55 Skrevet 3. april 2010 Forfatter Del Skrevet 3. april 2010 http://davidwalsh.name/php-magic-constants __LINE__ har jeg brukt flere ganger til error-reporting, men jeg veit ikke om det kan brukes i ditt tilfelle. Verdt å ta en titt på, mener jeg. Joda, jeg kjenner til den, men kan ikke bruke den i mitt program. Takk for svar likevel.. Lenke til kommentar
Thomas. Skrevet 3. april 2010 Del Skrevet 3. april 2010 (endret) http://davidwalsh.na...magic-constants __LINE__ har jeg brukt flere ganger til error-reporting, men jeg veit ikke om det kan brukes i ditt tilfelle. Verdt å ta en titt på, mener jeg. Joda, jeg kjenner til den, men kan ikke bruke den i mitt program. Takk for svar likevel.. Mest sannsynlig kan du det. Hvorfor kan du ikke bruke det i programmet ditt da? Endret 3. april 2010 av Thomas. Lenke til kommentar
sijo55 Skrevet 4. april 2010 Forfatter Del Skrevet 4. april 2010 Mest sannsynlig kan du det. Hvorfor kan du ikke bruke det i programmet ditt da? __LINE__ returnerer linjenummer i det scriptet jeg kjører, ikke linjenummer i filene scriptet søker i. Lenke til kommentar
Ernie Skrevet 4. april 2010 Del Skrevet 4. april 2010 (endret) Takk for svar selv om det egentlig ikke hjalp meg så mye. Jeg jobber med et program som scanner etter mistenkelig/skadelig kode, hovedsaklig i .php filer. Om slik kode er funnet, ønsker jeg å oppgi i rapporten som programmet genererer, også linjenummeret dette er funnet på og ikke bare filbane, filnavn og hvilken kode funnet. Jeg kan selvsagt lage meg en egen linjeteller funksjon, men da blir programmet alt for tregt i å utføre jobben. Derfor lurte jeg på om det lot seg gjøre på en enkel måte å finne linjenummer når jeg bruker file_get_contents ? file_get_contents gir tilbake hele filen i en streng, så det finnes ingen umiddelbart enkel metode for å finne ut hvilken linje man er på. Hvis du kjenner byteposisjonen til starten av koden kan du forsåvidt hente ut delen før med substr og benytte substr_count til å telle antall linjeskift som finnes i den delen. Endret 4. april 2010 av Ernie Lenke til kommentar
BlueEAGLE Skrevet 8. april 2010 Del Skrevet 8. april 2010 Hva er en linje? Er en linje delt med [ENTER] eller er det alltid ny linje hver 40. tegn? Svømmer fisken? Flyr fuglen? Ender en linje med \n ? ...hvis du ikke vil ha hjelp så for all del. En linje slutter med et skilletegn med mindre problemet du ønsket å løse var noe annet (f.eks linke i en <textarea> hvor en linje strengt tatt ikke behøver å slutte med et skilletegn) Hvis du ikke har noe skrikende behov for å bruke file_get_contents så er file og søk i matrisen en mulig løsning. ...men om du ikke vil ha hjelp så er det også helt greit. Lenke til kommentar
sijo55 Skrevet 10. april 2010 Forfatter Del Skrevet 10. april 2010 ...men om du ikke vil ha hjelp så er det også helt greit. Jeg beklager måten jeg svarte deg på. Jeg var nok litt for fokusert på det jeg holdt på med og problemet jeg jobbet med. Jeg forlangte nesten i farta at du eller noen andre skulle forstå nøyaktig hva jeg holdt på med, og når jeg var så fokusert på dette så ble svaret ditt helt feil for meg der og da. Svaret ditt var selvsagt riktig sett fra ditt ståsted, så jeg beklager. btw: Jeg har klart å løse problemet.. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå