   #PHP Manual Regular Expression Functions (Perl-Compatible)
   preg_match_all preg_quote

   PHP Manual
   Prev  Next
   ______________________________________________________________________

                                  preg_match

   (PHP 3>= 3.0.9, PHP 4 )
   preg_match -- Perform a regular expression match

Description

   int preg_match ( string pattern, string subject [, array matches [,
   int flags]])

   Searches subject for a match to the regular expression given in
   pattern.

   If matches is provided, then it is filled with the results of search.
   $matches[0] will contain the text that matched the full pattern,
   $matches[1] will have the text that matched the first captured
   parenthesized subpattern, and so on.

   flags can be the following flag:

   PREG_OFFSET_CAPTURE
          If this flag is set, for every occurring match the appendant
          string offset will also be returned. Note that this changes the
          return value in an array where every element is an array
          consisting of the matched string at offset 0 and it's string
          offset into subject at offset 1. This flag is available since
          PHP 4.3.0 .

   The flags parameter is available since PHP 4.3.0 .

   preg_match() returns the number of times pattern matches. That will be
   either 0 times (no match) or 1 time because preg_match() will stop
   searching after the first match. preg_match_all() on the contrary will
   continue until it reaches the end of subject. preg_match() returns
   FALSE if an error occurred.

     Tip: Do not use preg_match() if you only want to check if one
     string is contained in another string. Use strpos() or strstr()
     instead as they will be faster.

   Example 1. Find the string of text "php"
   <?php
   // The "i" after the pattern delimiter indicates a case-insensitive
   search
   if (preg_match("/php/i", "PHP is the web scripting language of
   choice.")) {
       echo "A match was found.";
   } else {
       echo "A match was not found.";
   }
   ?>

   Example 2. Find the word "web"
   <?php
   /* The \b in the pattern indicates a word boundary, so only the
   distinct
   * word "web" is matched, and not a word partial like "webbing" or
   "cobweb" */
   if (preg_match("/\bweb\b/i", "PHP is the web scripting language of
   choice.")) {
       echo "A match was found.";
   } else {
       echo "A match was not found.";
   }
   if (preg_match("/\bweb\b/i", "PHP is the website scripting language of
   choice.")) {
       echo "A match was found.";
   } else {
       echo "A match was not found.";
   }
   ?>

   Example 3. Getting the domain name out of a URL
   <?php
   // get host name from URL
   preg_match("/^(http:\/\/)?([^\/]+)/i",
       "http://www.php.net/index.html", $matches);
   $host = $matches[2];
   // get last two segments of host name
   preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
   echo "domain name is: {$matches[0]}\n";
   ?>

   This example will produce:
   domain name is: php.net

   See also preg_match_all(), preg_replace(), and preg_split().
   ______________________________________________________________________

   Prev           Home       Next
   preg_match_all  Up  preg_quote
