2 sep 2012 kl. 19.48 skrev John Taylor-Johnston: > How can I clean this up? >>> My approach would be to split the hole text into smaller chunks (with e.g. explode()) and extract the interesting parts with a regular expression. Maybe this will give you some ideas: >>>> $chunks = explode("-30-", $mystring); >>>> foreach($chunks as $chunk) { >>>> preg_match_all("/News Releases\n(.+)/s", $chunk, $matches); >>>> var_dump($matches[1]); >>>> } >>>> The regex matches all text between "News Releases" and the end of the chunk. >> 2) How could I suck it into one nice easy to handle array? >> >> |$mynewarray=|array { >> [0]=> "Residential Fire Determined to be Accidental in Nature ..." >> [1]=> "Arrest Made in Residential Fire ..." >> } > I was hoping preg_match_all would return strings. I w/as hoping |$matches[1] was a string.|/ > > source: http://www.cegepsherbrooke.qc.ca/~languesmodernes/test/test4.phps > result: http://www.cegepsherbrooke.qc.ca/~languesmodernes/test/test4.php Have you read up on 'preg_match_all' in the manual? What makes you think that preg_match_all returns strings? "$matches[1]", in the above case contains an array with all matches from the parenthesized subpattern, which is "(.+). > This is ugly. How can I clean this up like this? > > $mynewarray= array { > [0]=> "Residential Fire Determined to be Accidental in Nature ..." > [1]=> "Arrest Made in Residential Fire ..." > } Why not add two lines of code within the first loop? $chunks = explode("-30-", $mystring); foreach($chunks as $chunk) { preg_match_all("/News Releases\n(.+)/s", $chunk, $matches); foreach($matches[1] as $matched_text_line) { $mynewarray[] = $matched_text_line; } } Besides the regex, this is pretty basic php. /frank -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php