The preg_match() function of PHP Programming Language searches the string for the pattern, and then the function returns TRUE only if the pattern exists, or else the preg_match() function will return FALSE. The Preg_match() function basically works using some of the parameters, which are very useful and helpful in searching the string pattern inside of the input string data/string pattern. The first parameter is to store the string patterns to search. The second parameter is to store the input string. We use the preg_match() function to search for the required string patterns within the string data. The “matches” parameter, when included and used with print, will find the matching string content and display it in the output.
ADVERTISEMENT Popular Course in this category PHP DEVELOPER - Specialization | 8 Course Series | 3 Mock TestsStart Your Free Software Development Course
Web development, programming languages, Software testing & others
Syntax:
Int preg_match($pattern, $input, $matches, $flags, $offset)
Explanation:
The preg_match() function in the PHP programming language searches for string patterns within a large list of string sentences or other data. It only returns a TRUE value if the string pattern is found. Otherwise, it returns a FALSE value. PHP’s Preg_match() function usually works based on the five parameters included inside of the preg_match () function.
Given below are the parameters:
1. Pattern Parameter: This is the PHP’s preg_match() parameter, which is used to hold the pattern to search the string as a string. We denote the pattern as a variable by using the “$” symbol inside the function.
2. Input Parameter: The input parameter, which is inside of the preg_match() function, holds the string input/ string input value.
3. Matches Parameter: Matches Parameter, which is inside of the preg_match(), will provide the search results only if the matches exist. Matches mean the same string is present or not. The $matches[0] will actually contain the full text, which is the full-matched string pattern. $matches[1] is going to contain the string text that matches the first parenthesized captured sub-pattern etc..
Mostly the string patterns will be found at $matches[0][0], $matches[1][0], $matches[2][0], $matches[3][0] etc.. At $matches[0][1], $matches[1][1], $matches[2][1], and $matches[3][1], you will find the NULL, which means 0 as the string pattern value because it didn’t store anything in the matches array.
4. Flags Parameter: The flags parameter can contain some other flags, which are very helpful in handling the string pattern searching.
5. Offset Parameter: The offset parameter of the preg_match() function is very helpful in searching from the very beginning of the string which is sent as an input. This offset parameter is optional and isn’t needed at all times. You can use it based on the requirement. The “offset” parameter specifies the starting position for the string search.
6. Return value from the preg_match(): The preg_match() function of PHP is always going to return TRUE only if the string pattern exists otherwise, the preg_match() function will return as FALSE.
Given below are the examples:
This illustrates preg_match() using the PREG_OFFSET_CAPTURE flag. “$pavan1” is created and stored as a string value “PavanKumarSake” and assigned to “$pavan1”. Then preg_match() is declared with parameters.
‘/(Pavan)(Kumar)(Sake)/’ is the pattern parameter that holds the pattern, which is to search in the input string/string value. Next, we insert the variable “$pavan1” as an input variable. This variable usually contains the string element that we need to search to determine if the string variable’s value exists within it or not. Next, we place the variable “$matches1” after the comma following the variable “$pavan1”. This is helpful to check at what position the patterns are available inside the input string ”PavanKumarSake”.
In the above preg_match() working explanation, we said that what $matches[0] and $matches[1] will return. Likewise, in the below example, $matches[1] will provide the result that is/are fully matched with the pattern/patterns. So the output of array[0] is “PavanKumarSake” because it contains the full string/text.
Then array[1][0] will be “Pavan” then array[2][0] is “Kumar” and array[3][0] is “Sake” based on example1’s output. Then the “print_r($matches1)” is to print what matches are available inside the input string and also shows at what position the string pattern/patterns are available inside the string pattern. Print_r will show the output of the above preg_match() program of PHP Programming Language.
Code:
<?php $pavan1 = 'PavanKumarSake'; preg_match('/(Pavan)(Kumar)(Sake)/', $pavan1, $matches1, PREG_OFFSET_CAPTURE); print_r($matches1); ?>
Output:
In the example below, we assign the string value “www.profitloops.com” to the variable $pro_url. To check if the word “profit” is present in the variable $pro_url, you can use an if statement with the preg_match function. If the function returns a non-zero value, indicating a match, the if condition will consider it as true.
You can then execute the desired statement. The statement “The URL www.profitloops.com contains profit” will be printed if the word “profit” is present in the URL. The browser will display the output below the output section. If the word “profit” is not present in www.profitloops.com, then statements that are in the ELSE condition will be printed.
We use another IF statement to check if the word “loops” appears in the word located at www.profitloops.com. If the condition is a fault, then the ELSE condition’s statements will be printed. But here, the IF conditions are TRUE, so the statements that are inside of the IF will be printed.
Code:
<?php $pro_url = "www.profitloops.com"; if (preg_match("/profit/", $pro_url)) { echo "the url $pro_url contains profit , "; } else { echo "the url $pro_url does not contain profit , "; } if (preg_match("/loops/", $pro_url)){ echo "the url $pro_url contains loops , "; } else{ echo "the url $pro_url does not contain loops , "; } ?>
Output:
The above is the detailed content of preg_match in PHP (Function). For more information, please follow other related articles on the PHP Chinese website!