muppet77 Posted November 22, 2013 Share Posted November 22, 2013 I would like to search a text file for a date and then stop searching when the date changes. Eg search for 19-10 18-10 monkey 19-10 bananas 19-10 nuts 20-10 leaves Would return 19-10 bananas 19-10 nuts Could anyone please help me make some sort of loop(?) script? Thanks Link to comment https://forums.phpfreaks.com/topic/284178-search-text-file/ Share on other sites More sharing options...
Irate Posted November 22, 2013 Share Posted November 22, 2013 Assuming we have a file called "date.txt" in the root directory of your filesystem. <?php $txt = file_get_contents("http://yourdomain.com/date.txt"); $lines = explode("\n",$txt); $retVal = ""; foreach($lines as $line) { if(preg_match("@(\d{2}\-\d{2}(.*?)@",$line)&&(substr($retVal,0,4)!=substr($line,0,4)) $retVal .= substr($line,0) . "\n"; else continue; } echo printf("<pre>%1</pre>",$retVal); ?> It's not been tested, though it should work. Edit: added a minor thing. Link to comment https://forums.phpfreaks.com/topic/284178-search-text-file/#findComment-1459596 Share on other sites More sharing options...
muppet77 Posted November 22, 2013 Author Share Posted November 22, 2013 Thanks. Where do I put the date please? With a second look it is in the format 19-02-2009 Link to comment https://forums.phpfreaks.com/topic/284178-search-text-file/#findComment-1459597 Share on other sites More sharing options...
Irate Posted November 22, 2013 Share Posted November 22, 2013 Ah. Adjust this line, then. if(preg_match("@([0-3]{1}[0-9]{1}\-[0-1]{1}[0-9]{1}\-[1-2]{1}[0-9]{3})@",$line)&&(strlen($retVal)<9)&&(substr($retVal,0,9)!=substr($line,0,9))) $retVal .= $line . "\n";I'm not particularly sure about this, but this should theoretically work. Also, remove the echo before the printf function. Link to comment https://forums.phpfreaks.com/topic/284178-search-text-file/#findComment-1459610 Share on other sites More sharing options...
muppet77 Posted November 23, 2013 Author Share Posted November 23, 2013 Thanks. This seems to keep searching the entire file which is huge. Is there another way? The days are in order so once the day changes there will be no others later in the file. Thank you. Link to comment https://forums.phpfreaks.com/topic/284178-search-text-file/#findComment-1459651 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.