如何从PHP中检查URL是否包含某些字符串

原创 287865  2019-06-15 09:41 

给定一个URL并且任务是检查URL是否包含某些字符串。URL基本上是字符串。因此,为了检查某些字符串的存在,可以遵循两种方法。第一种方法用于查找字符串中的子字符串匹配,第二种方法是查找正则表达式匹配。PHP包含这两种方法的功能。

方法1:
strpos()函数: strpos()函数用于查找字符串中第一次出现的子字符串。如果子字符串存在,则该函数返回子字符串的起始索引,否则如果在字符串(URL)中找不到子字符串,则返回False。

句法:

int strpos($ String,$ Substring)

参数: strpos()函数接受如上所述和下面描述的两个参数。

  • $ String:此参数保存搜索执行的文本。
  • $ Substring:此参数保存要搜索的模式或子字符串。

程序: PHP程序使用strpos()函数在URL中查找特定字符串。


<?php

// PHP program to find certain substring in an URL

 
// Given URL

$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';

}

 
?>
<?php // PHP program to find certain substring in an URL
 
// Given URL $url
= '<a href="https://www.geeksforgeeks.org/gfg/index">h</a>';
 
// Search substring&nbsp; $key
= 'gfg';
 
if
(strpos($url, $key) == false) { echo
$key
. ' not exists in the URL &lt;br&gt;'; } else
{ echo
$key
. ' exists in the URL &lt;br&gt;'; }
 
// Another search substring $key
= 'function';
 
if
(strpos($url, $key) == false) { echo
$key
. ' not exists in the URL'; } else
{ echo
$key
. ' exists in the URL'; }
 
?&gt;

输出:

gfg存在于URL 
函数中不存在的URL 函数中

注意: strpos()函数使用字符串匹配方法在文本中查找子字符串。有时它会产生不希望的结果。例如:如果字符串URL为https://www.geeksforgeeks.org/myfunction且子字符串为function,则字符串URL中存在子字符串。假设一个网站想要显示功能的结果,但它显示不同的myfunction的结果。strpos()函数不检查子字符串是作为整体存在还是以后缀或前缀出现。

注意:要解决此问题,即查找是否在字符串(URL)中存在确切模式,或使用preg_match()函数。

方法2:
preg_match()函数: preg_match()函数用于使用正则表达式搜索查找文本中模式的完全匹配。在给定正则表达式模式的情况下,该函数对文本进行搜索并找到完全匹配(如果存在)。如果存在模式,则此函数返回true;如果模式不存在,则返回false。

句法:

preg_match($ pattern,$ subject)

参数: preg_match()函数接受如上所述和下面描述的两个参数。

  • $ pattern:它是用于搜索字符串的正则表达式模式
  • $ subject:搜索正则表达式模式的文本字符串。

程序2: PHP程序,用于查找URL中字符串的完全匹配


&lt;?php

// PHP program to find exach match substring

 
// Given a URL

$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 &lt;br&gt;';

}

else
{

echo
'gfg exist in the URL &lt;br&gt;';

}

 
// Given another URL

$url2
= '<a href="https://www.geeksforgeeks.org/myfunction">h</a>';

 
// 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';

}

 
?&gt;

输出:

URL中存在的URL 
函数中存在的 gfg
本文地址:https://www.xileso.top/549.shtml
版权声明:本文为原创文章,版权归 287865 所有,欢迎分享本文,转载请保留出处!
相关文章 关键词:

发表评论


表情