How to check if URL contain certain string using PHP?

Given a URL and the task is to check the URL contains certain string or not. The URL are basically the strings. So in order to check the existence of certain strings, two approaches can be followed. The first approach is used to find the sub string matching in a string and second approach is to find a regular expression match. PHP contains functions for these two approach.

Method 1:
strpos() Function: The strpos() function is used to find the first occurrence of a sub string in a string. If sub string exists then the function returns the starting index of the sub string else returns False if the sub string is not found in the string (URL).

Syntax:



int strpos( $String, $Substring )

Parameters: The strpos() function accepts two parameters as mentioned above and described below.

  • $String: This parameter holds the text where searching perform.
  • $Substring: This parameter holds the pattern or sub string which is to be searched.

Program: PHP program to find the certain string in an URL using strpos() function.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to find certain substring in an URL
  
// Given URL
  
// Search substring 
$key = 'gfg';
  
if (strpos($url, $key) == false) {
    echo $key . ' not exists in the URL <br>';
}
else {
    echo $key . ' exists in the URL <br>';
}
  
// Another search substring
$key = 'function';
  
if (strpos($url, $key) == false) {
    echo $key . ' not exists in the URL';
}
else {
    echo $key . ' exists in the URL';
}
  
?>

chevron_right


Output:

gfg exists in the URL 
function not exists in the URL

Note: The strpos() function finds the sub string in a text using string matching method. Sometime it gives undesired result. For example: if string URL is https://www.geeksforgeeks.org/myfunction and sub string is function then sub string exist in the string URL. Suppose a website wants to display the result of function but it display the result of myfunction which is different. The strpos() function does not check if a sub string present as a whole or it is present with suffix or prefix.

Note: To solve this problem that is to find whether the exact pattern is present in a string(URL) or not preg_match() function is used.

Method 2:
preg_match() Function: The preg_match() function is used to find the exact match of a pattern in a text using regular expression search. Here given a regular expression pattern the function do a search on the text and find the exact match if present. This function returns true if pattern is present and false if the pattern is not present.

Syntax:

preg_match( $pattern, $subject )

Parameters: The preg_match() function accepts two parameters as mentioned above and described below.

  • $pattern: It is the regular expression pattern for searching as a string
  • $subject: It is the text string upon which the regular expression pattern is searched.

Program 2: PHP program to find exact match of a string in an URL

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to find exach match substring
  
// Given a URL
  
// Here '\b' represents the block
  
// This pattern search gfg as whole words
$pattern = '/\bgfg\b/';
  
if (preg_match($pattern, $url) == false) {
    echo 'gfg does not exist in the URL <br>';
}
else {
    echo 'gfg exist in the URL <br>';
}
  
// Given another URL
  
// This pattern search function as whole words
$pattern = '/\bfunction\b/';
  
if (preg_match($pattern, $url2) == false) {
    echo 'function does not exist in the URL';
}
else {
    'function exist in the URL';
}
  
?>

chevron_right


Output:

gfg exist in the URL 
function does not exist in the URL


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.