jaymc Posted September 19, 2006 Share Posted September 19, 2006 Right, I'll drop you straight in it. I have about 2000 .txt files that look like the below code[code]<? $music = $_GET['send'];if (strpos($music, "2diealbum1")) {$song = "2diealbum/songs/2diealbum/2diealbum1.wma";$songdisplay = "2die4 - Paranoid Entity"; }else if (strpos($music, "2diealbum2")) {$song = "2diealbum/songs/2diealbum/2diealbum2.wma";$songdisplay = "2die4 - Hell On Earth"; }else if (strpos($music, "2diealbum3")) {$song = "2diealbum/songs/2diealbum/2diealbum3.wma";$songdisplay = "2die4 - Im Ok"; }else if (strpos($music, "2diealbum4")) {$song = "2diealbum/songs/2diealbum/2diealbum4.wma";$songdisplay = "2die4 - Reminissin"; }else if (strpos($music, "2diealbum5")) {$song = "2diealbum/songs/2diealbum/2diealbum5.wma";$songdisplay = "2die4 - Listen To Your Heart"; }else if (strpos($music, "2diealbum6")) {$song = "2diealbum/songs/2diealbum/2diealbum6.wma";$songdisplay = "2die4 - Take It Slow"; }else if (strpos($music, "2diealbum7")) {$song = "2diealbum/songs/2diealbum/2diealbum7.wma";$songdisplay = "2die4 - Do Ya Like That"; }else if (strpos($music, "2diealbum8")) {$song = "2diealbum/songs/2diealbum/2diealbum8.wma";$songdisplay = "2die4 - Just The Begining"; }else if (strpos($music, "2diealbum9")) {$song = "2diealbum/songs/2diealbum/2diealbum9.wma";$songdisplay = "2die4 - Put Em Down"; }else if (strpos($music, "2diealbuma")) {$song = "2diealbum/songs/2diealbum/2diealbuma.wma";$songdisplay = "2die4 - Earths Condition"; }else if (strpos($music, "2diealbumb")) {$song = "2diealbum/songs/2diealbum/2diealbumb.wma";$songdisplay = "2die4 - By My Side"; }else if (strpos($music, "2diealbumc")) {$song = "2diealbum/songs/2diealbum/2diealbumc.wma";$songdisplay = "2die4 - I Needed You"; }else if (strpos($music, "2diealbumd")) {$song = "2diealbum/songs/2diealbum/2diealbumd.wma";$songdisplay = "2die4 - Its Ok To Cry"; }else if (strpos($music, "2diealbume")) {$song = "2diealbum/songs/2diealbum/2diealbume.wma";$songdisplay = "2die4 - Easy Lover"; }else if (strpos($music, "2diealbumf")) {$song = "2diealbum/songs/2diealbum/2diealbumf.wma";$songdisplay = "2die4 - Throw It Up"; }else if (strpos($music, "2diealbumg")) {$song = "2diealbum/songs/2diealbum/2diealbumg.wma";$songdisplay = "2die4 - Me In General"; }else if (strpos($music, "2diealbumh")) {$song = "2diealbum/songs/2diealbum/2diealbumh.wma";$songdisplay = "2die4 - Catch A Breath"; }else if (strpos($music, "2diealbumi")) {$song = "2diealbum/songs/2diealbum/2diealbumi.wma";$songdisplay = "2die4 - It Aint Easy"; }else if (strpos($music, "2diealbumplay")) {$song = "2diealbum/songs/2diealbum/2diealbumplay.wax";$songdisplay = "2die4 - Complete Album";} ?>[/code]I am going to create a script that will loop and read in the entire contents of each .txt fileThen, I need to dig out the following information from each else if. Ive put the information I need in BOLDelse if (strpos($music, "[b]2diealbumi[/b]")) {$song = "[b]2diealbum/songs/2diealbum/2diealbumi.wma[/b]";$songdisplay = "[b]2die4 - It Aint Easy[/b]"; }What is the best way to do this. Its a bit messy but how would you do it?P.S, its not the loop on stuck with, its the handling of the data Quote Link to comment https://forums.phpfreaks.com/topic/21314-here-is-one-for-you/ Share on other sites More sharing options...
Ninjakreborn Posted September 19, 2006 Share Posted September 19, 2006 file_get_contents()or fopen or something similarthen use regular expressions for whatever you need,. Quote Link to comment https://forums.phpfreaks.com/topic/21314-here-is-one-for-you/#findComment-94867 Share on other sites More sharing options...
jaymc Posted September 19, 2006 Author Share Posted September 19, 2006 Can you give me an example of how to use regular expressions with what I need Quote Link to comment https://forums.phpfreaks.com/topic/21314-here-is-one-for-you/#findComment-94870 Share on other sites More sharing options...
Orio Posted September 19, 2006 Share Posted September 19, 2006 I would recommened you to use strstr() and substr() since the lengthes of the code parts are the same all the time. That will replace regular expressions.Orio. Quote Link to comment https://forums.phpfreaks.com/topic/21314-here-is-one-for-you/#findComment-94872 Share on other sites More sharing options...
jaymc Posted September 19, 2006 Author Share Posted September 19, 2006 So the only real feasable approach is probably to explode by lines and use strstr() Quote Link to comment https://forums.phpfreaks.com/topic/21314-here-is-one-for-you/#findComment-94883 Share on other sites More sharing options...
roopurt18 Posted September 19, 2006 Share Posted September 19, 2006 if (strpos($music, "2diealbum1")) {$song = "2diealbum/songs/2diealbum/2diealbum1.wma";$songdisplay = "2die4 - Paranoid Entity"; }If it's garaunteed that the data you need is [b]always[/b] enclosed in double quotes and that it [b]always[/b] appears in that order, you can follow this algorithm:1) Open file2) Using a regular expression, fill an array with all data enclosed in double quotes only3) With the array a) Starting at index 0, every third element comes from the line containing [b]strpos[/b] b) Starting at index 1, every third element comes from the line containing [b]$song =[/b] c) Starting at index 2, every third element comes from the line containing [b]$songdisplay =[/b]All it takes is for one body of the if / else if construct to assign variables out of order to ruin that approach though. Quote Link to comment https://forums.phpfreaks.com/topic/21314-here-is-one-for-you/#findComment-94889 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.