On Thu, August 18, 2005 2:50 pm, Jon wrote: > preg_match_all("/Charges \s\s+ $total x (.+) /siU", $single, > $from_invoice); I would recommend using \\s instead of \s -- While \s doesn't have any meaning in PHP strings, so PHP just figures you must have meant \\s > The text has "Charges" then a variable amount of spaces a previously > picked > decimal number" x " (and the data I want)" " > > is this correct or am I missing something? It seems to work sometimes > and > not others and I have not quite figured out what makes it fail. > > The error I get is > Warning: preg_match_all(): unknown modifier '#' in "file" Does $single have a "#" character in it by any chance??? Ooooh. Or does $total sometimes have "/#" in it? Imagine that $total has "#/#" in it. Then your PRCE string turns into: "/Charges \s\s+ #/# x (.+) /siU" v--------^ Preg "sees" this / to end the search string, and then it sees a # after that, and thinks you are trying to use # the way you are using "siU" at the end. Only # ain't a valid character in that location. -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php