Introduction to preg_match in PHP
The preg_match() function of PHP Programming Language searches the string for the pattern and then the function returns TRUE only if the pattern existed or else the preg_match() function will return FALSE. Preg_match() function basically works using some of the parameters which are very much 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. It is the string data where we have to search the required string patterns etc., Then 3rd parameter “matches” will find the matching string content and shows in the output only if the print is included after the preg_match() function.
Syntax:
Int preg_match($pattern, $input, $matches, $flags, $offset)
Explanation:
- The preg_match() function of PHP language usually accepts only 5 parameters as mentioned above in the syntax column which are inside of the preg_match() function.
- The list of 5 parameters in the preg_match() function are: pattern, input, matches, flags and offset.
- Each and every parameter is very much useful in performing the searching the string pattern in the big string or in the doc which is fully equipped with the alphanumeric string data.
How does preg_match work in PHP?
Preg_match() function in php programming language work is based on searching the string pattern/patterns in the big list of string sentences or other and the preg_match() will return the TRUE value only if the string pattern is found or else the preg_match() function will return the FALSE value. PHP’s Preg_match() functions usually works is 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()’s parameter which is used to hold the pattern to search the string as a string. Pattern is also considered as the variable and placed with the $ symbol inside of the function.
2. Input Parameter: 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 means the same string is present or not. The $matches[0] will actually contain the full text which the full matched string pattern. $matches[1] is going to contain the string text which 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 stored anything in the matches array.
4. Flags Parameter: Flags parameter can contain some other flags which are very much helpful in handling the string pattern searching.
- PREG_OFFSET_CAPTURE FLAG: Now this flag of the preg_match() function is passed then for each and every match string offset/offsets appended will be returned.
- PREG_UNMATCHED_AS_NULL FLAG: This flag is helpful to report as NULL when the flag is passed then the sub-patterns will be reported as NULL because the sub-patterns are not at all matched.
5. Offset Parameter: The offset parameter of the preg_match() function is very much helpful in searching from the very beginning of the string which is sent as an input. This offset parameter is optional and doesn’t need at all times. You can use it based on the requirement. It is actually used in order to start the string search by specifying the place from where the search has to start.
6. Return value from the preg_match(): The preg_match() function of PHP is always going to return TRUE only if the string pattern existed otherwise the preg_match() function will return as FALSE.
Examples of preg_match in PHP
Given below are the examples:
Example #1
Here preg_match() is illustrated using the PREG_OFFSET_CAPTURE flag. “$pavan1” is created and stored a string value “PavanKumarSake” and assigned to “$pavan1”. Then preg_match() declared with parameters.
‘/(Pavan)(Kumar)(Sake)/’ is the pattern parameter holds pattern which is to search in the input string/string value. Then “$pavan1” variable is placed as an input variable which usually contains the string element where you have to search whether string variable’s value is available inside the input or not. Then “$matches1” variable is placed next to $pavan1 variable after the comma. 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 which is/are fully matched with the pattern/patterns. So output of array[0] as “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 available inside the input string and also shows at what position the string pattern/patterns 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:
Example #2
In the below example, a variable “$pro_url” is created with the string value www.profitloops.com. Then an if condition is created with the condition that if the word “profit” is present in the “$pro_url” then the IF condition will consider it as TRUE and prints the statement which is mentioned. Here “the URL www.profitloops.com contains profit” will be printed and it is also shown in the output of the browser and placed below the output section. If the word “profit” is not present in the www.profitloops.com then statements which are in the ELSE condition will be printed. Then once again an IF statement is made just like the above syntax to check whether the word “loops” is present in the” www.profitloops.com” word. 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 which 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:
Recommended Articles
This is a guide to preg_match in PHP. Here we discuss the introduction, syntax, and working of preg_match in PHP along with different examples. You may also have a look at the following articles to learn more –