Re: replacing file contents

From: Date: Mon, 11 Apr 2005 11:19:00 +0000
Subject: Re: replacing file contents
References: 1 2 3 4  Groups: php.windows 
Request: Send a blank email to php-windows+get-25829@lists.php.net to get a copy of this message
DOH! Thanks Kevin for pointing out what should be the obvious !!! /hides Ofcause, str_replace() I totally forgot about that one, maybe because I've just been using eregi_replace() a lot lately, I dunno. Anyway, everything works now as I should, thanks :o) /Aidal "M. Sokolewicz" <tularis@php.net> wrote in message news:20050411102737.41469.qmail@lists.php.net... > why are you using regexp-functions anyway? there's /absolutely/ no need > for them in your case. I can only see disadvantages: > 1 - they use more memory than str_replace > 2 - they're slower than str_replace > 3 - they're more complicated than str_replace > > Simply use str_replace, and it'll work just fine; use a regexp and you'll > need to escape characters and other weird things like that. > > - tul > Kevin Smith wrote: >> Hi, >> >> It's none of that. >> >> I suspect that the problem lies with the "?" question mar and the >> full-stop. If you look up what the question mark and full-stop means in >> an expression, you will find the answer to your problem. Basically you >> need to escape the question mark, so it is not evaluated as part of the >> expression, but as an absolute value. >> >> So, it should be as follows: >> >> $altered_file_contents = >> >> eregi_replace("index2\.php\?someVar\=SomeValue","somevar_somevalue.html", >> $file_contents); >> >> Also, this will only work if the whole of the string is on one line, if >> the HTML code is wrapped onto two lines, then you have a problem. >> Obviously, there are workarounds, but for now try the above. >> >> You may also want to look at preg_ as this is a more efficient mehtod of >> regexp's. >> >> Regards, >> >> Kevin Smith >> >> >> Luis Moreira wrote: >> >>> Hi >>> >>> I, for one, have never done this, but if you are working with html >>> files, I suppose you open it with your browser ? >>> Have you cleared the cache, or at least forced the browser to re-open >>> the file ? >>> If you edit the file after the change using a text editor, do you see >>> the changes, or not ? Luis >>> >>> >>> Aidal wrote: >>> >>>> Hi NG. >>>> >>>> I'm having trouble searching through a file and swapping specific >>>> phrases with other phrases. >>>> >>>> I'm opening a html-file and i wish to replace >>>> "index2.php?someVar=SomeValue" with somthing else but I can't get >>>> this >>>> to work properly. >>>> >>>> first i open the html file and read all it's contents into a var... >>>> let's call that one $file_contents for this example. >>>> >>>> I'm currently trying using: >>>> >>>> $altered_file_contents = >>>> >>>> eregi_replace("index2.php?someVar=SomeValue","somevar_somevalue.html", >>>> $file_contents); >>>> >>>> Then I delete the file i opened, create a new one with the same name >>>> and write the $altered_file_contents into it and close it. >>>> >>>> But when I open it and check the line numbers that should have been >>>> altered, they haven't been toutched at all, they still show the first >>>> link. >>>> >>>> What am I doing wrong? >>>> Why aren't eregi_replace() doing what I think it should? >>>> >>>> Please help... >>>> >>>> /Aidal >>>> >>>

« previous php.windows (#25829) next »