PHP检查URL包含特定字符串实例方法

方法一:查找、匹配字符串中的子字符串

strpos()函数

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

注:strpos() 函数对大小写敏感,区分大小写。

示例:使用strpos()函数在URL中查找特定字符串。

<?php
header("content-type:text/html;charset=utf-8");
// 在URL中查找特定的子字符串

// 给定URL
$url = '//www.jb51.net/php/';
echo 'URL为: '.$url.' <br>' ;
// 搜索子字符串
$key = 'php'; 

if (strpos($url, $key) == false) {
  echo 'URL中不存在子字符串'.$key.' <br>' ;
}
else {
  echo 'URL中存在子字符串 '.$key.' <br>' ;
} 

// 搜索子字符串
$key = 'PHP'; 

if (strpos($url, $key) == false) {
  echo 'URL中不存在子字符串 '.$key.' <br>' ;
}
else {
  echo 'URL中存在子字符串 '.$key.' <br>' ;
}
?>
URL://www.jb51.net/php/
URL中存在子字符串PHP
URL中不存在子字符串PHP

substr_count()函数

substr_count()函数用于计算子串在字符串中出现的次数。当子串的出现次数大于等于1时,表明URL中包含这个子字符串。

示例:

<?php
header("content-type:text/html;charset=utf-8");
$url = 'http://www.jb1.net/php/';
$key = 'php';
// 搜索子字符串
if (substr_count($url, $key) == false) {
  echo 'URL中不存在子字符串'.$key.' <br>' ;
}
else {
  echo 'URL中存在子字符串 '.$key.' <br>' ;
}
$key = 'PHP'; 

if (substr_count($url, $key) == false) {
  echo 'URL中不存在子字符串 '.$key.' <br>' ;
}
else {
  echo 'URL中存在 '.$key.' <br>' ;
}
?>

输出:

URL://www.jb51.net/php/
URL中存在子字符串PHP
URL中不存在子字符串list

方法二:通过正则表达式查找匹配

preg_match()函数

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

<?php
header("content-type:text/html;charset=utf-8");
// 在URL中查找特定的子字符串

// 给定URL
$url = 'http://www.jb1.net/php/';
echo 'URL为: '.$url.' <br>' ;
// 搜索子字符串
$pattern = '/\bphp\b/'; 

if (preg_match($pattern, $url) == false) {
  echo 'URL中不存在php <br>';
}
else {
  echo 'URL中存在php <br>';
}
$pattern = '/\bPHP\b/'; 

if (preg_match($pattern, $url) == false) {
  echo 'URL中不存在PHP';
}
else {
  'URL中不存在PHP';
}
?>

输出:

URL://www.jb51.net/php/
URL中存在PHP
URL中不存在PHP

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

(0)

相关推荐

  • PHP基于CURL发送JSON格式字符串的方法示例

    本文实例讲述了PHP基于CURL发送JSON格式字符串的方法.分享给大家供大家参考,具体如下: /* * post 发送JSON 格式数据 * @param $url string URL * @param $data_string string 请求的具体内容 * @return array * code 状态码 * result 返回结果 */ function post_json_data($url, $data_string) { $ch = curl_init(); curl_seto

  • PHP使用http_build_query()构造URL字符串的方法

    本文实例讲述了PHP使用http_build_query()构造URL字符串的方法.分享给大家供大家参考,具体如下: 简单来说,http_build_query()就是将一个数组转换成url 问号?后面的参数字符串,并且会自动进行urlencode处理. 还是引用一下官方的解释: http_build_query http_build_query -- 生成 url-encoded 之后的请求字符串描述string http_build_query ( array formdata [, str

  • php使用正则表达式获取字符串中的URL

    今天写一个问答系统上线之后发现有很多人发链接了,由于业务部门要我们过滤掉网站地址了,下面我给大家分享一个提取字符串url地址函数,代码如下: $str ='本文实例讲述了php匹配字符串里所有URL地址的方法.http://www.manongjc.com 分享给大家供大家参考'; preg_match_all("/http:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-Za-z\d]*/",$st

  • php解析字符串里所有URL地址的方法

    本文实例讲述了php解析字符串里所有URL地址的方法.分享给大家供大家参考.具体如下: <?php // $html = the html on the page // $current_url = the full url that the html came from //(only needed for $repath) // $repath = converts ../ and / and // urls to full valid urls function pageLinks($ht

  • php提取字符串中网站url地址的方法

    本文实例讲述了php提取字符串中网站url地址的方法.分享给大家供大家参考.具体分析如下: 今天写一个问答系统上线之后发现有很多人发链接了,由于业务部门要我们过滤掉网站地址了,下面我给大家分享一个提取字符串url地址函数,代码如下: 复制代码 代码如下: $postInfo['answer2'] ='可以的,商业贷款可摊还36%,公积金贷款可摊还16%|||可以先把账户里的余额提取出来用作首付,然后每个月贷款商业贷款可摊还36%,公积金贷款可摊还16%|||可以的,现在甲类公积金是摊还比例htt

  • PHP安全的URL字符串base64编码和解码

    如果直接使用base64_encode和base64_decode方法的话,生成的字符串可能不适用URL地址.下面的方法可以解决该问题: URL安全的字符串编码: 复制代码 代码如下: function urlsafe_b64encode($string) {    $data = base64_encode($string);    $data = str_replace(array('+','/','='),array('-','_',''),$data);    return $data;

  • PHP检查URL包含特定字符串实例方法

    方法一:查找.匹配字符串中的子字符串 strpos()函数 strpos()函数用于查找字符串中第一次出现的子字符串.如果子字符串存在,则该函数返回子字符串的起始索引,否则如果在字符串(URL)中找不到子字符串,则返回False. 注:strpos() 函数对大小写敏感,区分大小写. 示例:使用strpos()函数在URL中查找特定字符串. <?php header("content-type:text/html;charset=utf-8"); // 在URL中查找特定的子字符

  • 使用正则表达式找出不包含特定字符串的条目

    做日志分析工作的经常需要跟成千上万的日志条目打交道,为了在庞大的数据量中找到特定模式的数据,常常需要编写很多复杂的正则表达式.例如枚举出日志文件中不包含某个特定字符串的条目,找出不以某个特定字符串打头的条目,等等. 使用否定式前瞻 正则表达式中有前瞻(Lookahead)和后顾(Lookbehind)的概念,这两个术语非常形象的描述了正则引擎的匹配行为.需要注意一点,正则表达式中的前和后和我们一般理解的前后有点不同.一段文本,我们一般习惯把文本开头的方向称作"前面",文本末尾方向称为&

  • Pandas过滤dataframe中包含特定字符串的数据方法

    假如有一列全是字符串的dataframe,希望提取包含特定字符的所有数据,该如何提取呢? 因为之前尝试使用filter,发现行不通,最终找到这个行得通的方法. 举例说明: 我希望提取所有包含'Mr.'的人名 1.首先将他们进行字符串化,并得到其对应的布尔值: >>> bool = df.str.contains('Mr\.') #不要忘记正则表达式的写法,'.'在里面要用'\.'表示 >>> print('bool : \n', bool) 2.通过dataframe的

  • Replace关键字的妙用查询是否包含某个特定字符串

    在sql server中Replace关键字主要是用来将字符串中的某个字符替换成别的字符,今天要逆向思维,它还可以用来查询是否包含某个特定字符串,例如给定下面数据集  期望从这个数据集中获取包含"aaa"字符的记录,注意第2条数据不是包含"aaa",而是包含"aaaa".期望的""结果如下:  传统的思维肯定是想如何查出包含有3个a的字符串,有的人会像用like,但这样会连同4个a也查出来.这里我们就思考用Replace替换掉

  • php 正则 不包含某字符串的正则表达式

    常见函数 strstr($str, "abc"); 正则匹配 preg_match("/(abc)?/is", $str); 但是要匹配一个字符串中,不包含某字符串,用正则就比较麻烦了 如果不用正则 !strstr($str, "abc"); 就可以解决问题了 但是用正则呢,就只有这样了,"/^((?!abc).)*$/is" //------------------------------------------------

  • 正则表达式匹配不包含某些字符串的技巧

    经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^(hede)来过滤"hede"字串,但这种写法是错误的.我们可以这样写:[^hede],但这样的正则表达式完全是另外一个意思,它的意思是字符串里不能包含'h','e','d'三个但字符.那什么样的正则表达式能过滤出不包含完整"hello"字串的信息呢? 事实上,说正则表达式里不支持逆向匹配并不是百分之百的正确.就像这个问题,我们就可以使用否定式查找来模拟出逆向匹配,从而解决我们的问

  • CodeIgniter 完美解决URL含有中文字符串

    codeIgniter默认的配置下是不允许URL中包含非ASCII字符的,如果URL中含非ASCII字符,那么CI会毫不客气的抛出错误.本文章向码农介绍CodeIgniter 如何解决URL含有中文字符串. 你 可能会说,那我把这个URL使用函数urlencode一下呢?不行.因为Web Server会在接收到一个被urlencode的URL后自动将其decode,然后在PHP里得到的这些字符串转换成他原来所代表的含义,并使用 Web Server自己的URL编码字符集(IIS6 中文版是GBK

  • php 字符串中是否包含指定字符串的多种方法

    编写程序的时候,经常要处理字符串,最基本就是字符串的查找,在php检测字符串中是否包含指定字符串可以使用正则,如果你对正则不了解,那么有几个函数可以为您提供方便. 1. strstr strstr() 函数搜索一个字符串在另一个字符串中的第一次出现. 该函数返回字符串的其余部分(从匹配点).如果未找到所搜索的字符串,则返回 false. 代码如下: <?php /*如手册上的举例*/ $email = 'user@example.com'; $domain = strstr($email, '@

  • python 检查是否为中文字符串的方法

    [目标需求] 查看某一个字符串是否为中文字符串 [解决办法] def check_contain_chinese(check_str): for ch in check_str: if u'\u4e00' <= ch <= u'\u9fff': return True else: return False [举例检验] check_contain_chinese('abcc') False check_contain_chinese('123') False check_contain_chi

  • js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例

    本文实例讲述了js常用方法.检查是否有特殊字符串.倒序截取字符串操作.分享给大家供大家参考,具体如下: js常用方法demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/

随机推荐