Russian Ukraine English
Catalog RSS


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])

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 match the full pattern, $matches[1] will have the text that matched the first captured parenthesized subpattern, and so on.

Returns true if a match for pattern was found in the subject string, or false if not match was found or an error occurred.

Example 1. find the string of text "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.")) {     print "A match was found."; } else {     print "A match was not found."; }       

Example 2. find the word "web"


// 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.")) {     print "A match was found."; } else {     print "A match was not found."; } if (preg_match ("/\bweb\b/i", "PHP is the website scripting language of choice.")) {     print "A match was found."; } else {     print "A match was not found."; }       

Example 3. Getting the domain name out of a URL


// 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().

Led