php - Couldn't get desired results via preg_match_all -
i trying program email piping php script take incoming traffic update report via email, , extract relevant information within store database.
the email starts introduction, important information displayed in following format.
highway : highway time : 08-oct-2010 08:10 condition : smooth (or slow moving etc)
i tried code
preg_match_all('/(?p<\name>\w+) : (?p<\data>\w+)/i', $subject, $result);
note < / < somehow not being displayed here.
and matches only:
highway : datetime : 08 condition : smooth
can tell me what's missing in second regex expression? why doesn't include entire string of words after ":"?
you capturing \w+
. matches word characters, not include spaces or parenthesis.
try
preg_match_all('/(?p<name>\w+)\s*:\s*(?p<data>.*)/i', $subject, $result);
try using .*?
match new line character
Comments
Post a Comment