RE: removing text from a string

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Ashley Sheridan [mailto:ash@xxxxxxxxxxxxxxxxxxxx]
> Sent: Tuesday, November 04, 2008 1:40 PM
> To: Adam Williams
> Cc: PHP General list
> Subject: Re:  removing text from a string
> 
> On Tue, 2008-11-04 at 08:04 -0600, Adam Williams wrote:
> > I have a file that looks like:
> >
> > 1. Some Text here
> > 2. Another Line of Text
> > 3. Yet another line of text
> > 340. All the way to number 340
> >
> > And I want to remove the Number, period, and blank space at the
> begining
> > of each line.  How can I accomplish this?
> >
> > Opening the file to modify it is easy, I'm just lost at how to
remove
> > the text.:
> >
> > <?php
> > $filename = "results.txt";
> >
> > $fp = fopen($filename, "r") or die ("Couldn't open $filename");
> > if ($fp)
> > {
> > while (!feof($fp))
> >         {
> >         $thedata = fgets($fp);
> >         //Do something to remove the "1. "
> >         //print the modified line and \n
> >         }
> > fclose($fp);
> > }
> > ?>
> >
> I'd go with a regular expression any day for something like this.
> Something like:
> 
> "/$[0-9]{1,3}\.\ .*^/g"
> 
> should do what you need. Note the space before the last period.

That would only work for files with 1-999 lines, and will wind up
matching the entire line (since you used $ and ^ and a greedy .*
inbetween... also... $ is "end-of-line" and ^ is "beginning-of-line" :))
rather than just the "line number" part. I would stick with my
originally-posted regex ("/^\d+\.\s/"), but I would modify yours like
this if I were to use it instead:

"/^[0-9]+\.\ (.*)$/" (What was the "g" modifier for, anyway?)

Then, you could grab the capture group made with (.*) and use it as the
"clean" data. (It would be group 1 in the match results and "$1" in a
preg_replace() call, I believe. Group 0 should be the entire match.)


Todd Boyd
Web Programmer

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux