Jump to content

Archived

This topic is now archived and is closed to further replies.

HAMM3R

Loop through txt file, return value

Recommended Posts

Hey

Ive got a text file.  It has many lines of data.
I need a script that will loop through and if the line matches this:
String1.level=Int1
(and example would be: HAMM3R.level=4)
If Int1 >= 3, i need it to echo something like String1 = Int1

So, if a line is HAMM3R.level=4 then it will echo "HAMM3R = 4"
If its HAMM3R.level=2 it will go to the next line
And if the line doesnt match the String.level=Int format that it will also go to the next line

I know im not giving you anything to start with but im new at this.  I hope someone can help me out with this.

Thanks in advance!
HAMM3R

Share this post


Link to post
Share on other sites
You need to use regular expressions for this kind of thing.  The following is untested but *should* work...

[code]
<?php
 
  $lines = file('data.txt');  // or whatever it's called

  foreach( $lines as $line )
  {
      if( eregi( "([a-z0-9]+)\.level=([0-9]+)", $line, $regs ) )
      {
        if( $regs[2] >= 3 )
        {
            echo "$regs[1] = $regs[2]\n";
        }
      }
  }

?>
[/code]

Share this post


Link to post
Share on other sites
Hey one more question.  Some of the users are in clans so have clan tags in their names.  Right now it wont display anything other than letters and number (as the regex allows).  Could you please show me how to make it accept [] = - | () etc?

Thanks!

Share this post


Link to post
Share on other sites
Try this...
[code]<?php
 
  $lines = file('data.txt');  // or whatever it's called

  foreach( $lines as $line )
  {
      if(eregi( "(.*)\.level=([0-9]+)", $line, $regs); )
      {
        if( $regs[2] >= 3 )
        {
            echo "$regs[1] = $regs[2]\n";
        }
      }
  }

?>[/code]

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.