===== Syntax =====
int preg_match_all(string $pattern, string $source, array &$matches [, int $flags [, int $offset]])
//(PHP 4, PHP 5)//
^ $pattern | A POSIX regular expression string. |
^ $source | The source string to perform the match operation against. |
^ $matches | The output of the regular expression match operation. |
^ $flags | Options for the type of pattern matching to perform (see below). |
^ $offset | Offset (character position) within the source string to start the pattern matching from. |
^ RETURNS | The total number of full pattern matches found. |
**Possible values for $flags**
^ PREG_SET_ORDER | ''$matches[0]'' contains a set of match values for the first pattern match (including all sub-matches|
^ PREG_PATTERN_ORDER | ''$matches[0]'' contains a list of full pattern matches, ''$matches[1]'' contains a list of matches for the first parenthesized submatch expression, ''$matches[2]'' contains a list of matches for the second parenthesized submatch expressions and so on. |
===== What it Does =====
Given an input array (**$source**) and regular expression (**$pattern**), this function will find matches and populate the output string (**$matches**). The **$matches** argument is passed by reference so that it can return an array with the match results. The format of this array depends on the **$flags** parameter which may be either: **PREG_PATTERN_ORDER** or **PREG_SET_ORDER**.
===== Example =====