Lurifaksen Skrevet 14. august 2006 Del Skrevet 14. august 2006 (endret) Jeg skal åpne et tekstdokument som skal redigeres ved hjelp av PHP. Det er bestemte strenger i dokumentet som skal byttes ut med egenvalgte. F.eks inneholder dokumentet "<KEYWORD1>" som jeg vil bytte ut med "Strengen min" Deretter vil jeg lagre filen til en ny fil med nytt navn. Det finnes sikkert drøssevis av metoder å gjøre dette på - og jeg hadde sikkert klart det med litt lesing, men poenget er at jeg vil gjøre det riktig. Dvs, på den raskeste og mest effektive måten (for serveren). Er fopen() det beste? Så str_replace() på hele greien fopen leser inn? Kanskje det finnes alternative funksjoner til str_replace som er spesielt beregnet til filbehandling? Noen som har tips? Endret 14. august 2006 av Lurifaksen Lenke til kommentar
kjey Skrevet 14. august 2006 Del Skrevet 14. august 2006 Er det ikke bare å bruke file_get_contents()? Så bruker du str_replace på stringen som blir hentet ut. Kan sette opp et enkelt eksempel på hvordan jeg forestiller meg det: Skjult tekst: (Marker innholdet i feltet for å se teksten): <?php $filnavn = "eksempelfil.txt"; $fil = fopen($filnavn, "r"); $fil_innhold = file_get_contents($fil); $fil_innhold = str_replace("gammelt ord", "nytt ord", $fil_innhold); fclose($fil); ?> Så etter du har byttet om alle ordene du vil i innholdet, kan du skrive over det som ligger lagret allerede slik at den nye strengen blir lagret istedenfor den gamle. Lenke til kommentar
Lurifaksen Skrevet 15. august 2006 Forfatter Del Skrevet 15. august 2006 Takk for svar. I det scriptet der bruker du to forskjellige måter å lese inn filen... dvs, fopen er ikke nødvendig, og file_get_contents skal ha filnavn som argument. Men spørsmålet er da - hvilken måte er best av de to? Og dersom jeg har f.eks. 50 forskjellige ord som skal byttes ut. Vil det da være hensiktsmessig å kjøre 50 str_replace? Er det andre funksjoner som passer bedre til en "mass replace"? Lenke til kommentar
xqus Skrevet 15. august 2006 Del Skrevet 15. august 2006 Og dersom jeg har f.eks. 50 forskjellige ord som skal byttes ut. Vil det da være hensiktsmessig å kjøre 50 str_replace? Er det andre funksjoner som passer bedre til en "mass replace"? 6676820[/snapback] str_replace tar array som argument, det betyr at du kun trenger å kjøre en str_replce selv om du har mange forskjellige ord. 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å