Vi säger att jag har en fil som heter test.log
Denna fil innehåller åtskilliga rader text och jag vill öppna filen för läsning, gå igenom filen rad för rad och om scriptet hittar ett angivet ord i något av raderna ska det gå fram 3 ord (orden separeras som vanligt med blanksteg) och ersätta det tredje ordet efter det angivna sökordet och sedan fortsätta rad för rad.
Hur skulle man gå tillväga för att genomföra detta på enklaste (och scriptmässigt snabbaste) sätt?
Funktionen skulle kunna illustreras på följande sätt.
<?php
function funktionsNamn($fil,$sökord,$ersätt)
{
öppna filen $fil
gå igenom rad för rad
om den hittar $sökord i den aktiva raden
gå fram till det tredje ordet efter $sökord och ersätt detta med $ersätt
fortsätt med nästa rad
stäng filen $fil
skriv ut hela $fil med tredje ordet efter $sökord ersatt med $ersätt
}
funktionsNamn("fil.log","sökordet","ersättningsordet")
?>
Jag vill med andra ord inte skriva ändringen i filen, bara läsa ut den fast med en viss del av den ersatt då jag vll ha filen intakt som den var från början på servern.
Vad som är snabbast vet jag inte, men det enklaste måste vara att läsa in filen som en sträng i en variabel, och sedan med ett regexp-uttryck som arbetar per rad gå igenom strängen. Något på det här hållet:
Vad som är snabbast vet jag inte, men det enklaste måste vara att läsa in filen som en sträng i en variabel, och sedan med ett regexp-uttryck som arbetar per rad gå igenom strängen. Något på det här hållet: