RE: [PHP] removing text from a string
| From: | Boyd, Todd M. | 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