RE: [PHP] removing text from a string

From: Date: Tue, 04 Nov 2008 14:48:30 +0000
Subject: RE: [PHP] removing text from a string
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-282850@lists.php.net to get a copy of this message
> -----Original Message----- > From: Adam Williams [mailto:awilliam@mdah.state.ms.us] > Sent: Tuesday, November 04, 2008 8:04 AM > To: PHP General list > Subject: [PHP] removing text from a string > > 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); > } > ?> http://www.regular-expressions.info <?php $fp = fopen($filename, "r") or die("Oh! The humanity!"); if($fp) { while(!feof($fp)) { $thedata = preg_replace('/^\d+\.\s/', '', fgets($fp)); echo $thedata . '\n'; } fclose($fp); } ?> Hints: * "^" is the beginning-of-line marker in RegEx. (Usually.) * "\d+" is compound: - "\d" is the "digit" marker. (0-9) - "+" after it means "one or more". * "\." is just a period, but needs to be "escaped" in RegEx because it has special meaning. * "\s" is whitespace. * "/" surrounding the pattern are just delimiters. They are not part of the pattern itself. HTH, Todd Boyd Web Programmer

« previous php.general (#282850) next »