迅雷地址正则匹配代码

 更新时间:2016年11月25日 15:51  点击:1462

迅雷地址正则匹配代码

thunder://[a-za-z0-9]*


perl:
thunder://.+
用preg_replace()函数。

迅雷地址分不分大小写?不分的话用pregi_replace()

原理是从url中提取关键词。参数说明:url及关键词前的字符,然后进行处理与来源判断是那个搜索引擎,这样保存到数据就就行了。

<?php教程
//

$search_url = isset($_get['url'])?$_get['url']:''; //代表传入的地址
/*$search_url = urldecode($search_url);
print_r($search_url);
*/

$config = array(
    "s1"=>array(
        "domain" => "google.com",
        "kw" => "q",
        "charset" => "utf-8"
    ),
    "s3"=>array(
        "domain" => "google.cn",
        "kw" => "q",
        "charset" => "utf-8"
    ),
    "s4"=>array(
        "domain" => "baidu.com",
        "kw" => "wd",
        "charset" => "gbk"
    ),
    "s5"=>array(
        "domain" => "soso.com",
        "kw" => "q",
        "charset" => "utf-8"
    ),
    "s6"=>array(
        "domain" => "yahoo.com",
        "kw" => "q",
        "charset" => "utf-8"
    ),
    "s7"=>array(
        "domain" => "bing.com",
        "kw" => "q",
        "charset" => "utf-8"
    ),
    "s8"=>array(
        "domain" => "sogou.com",
        "kw" => "query",
        "charset" => "gbk"
    ),
    "s9"=>array(
        "domain" => "youdao.com",
        "kw" => "q",
        "charset" => "utf-8"
    ),
);

//函数作用:从url中提取关键词。参数说明:url及关键词前的字符。
function get_keyword($url,$kw_start)

{
    $start = stripos($url,$kw_start);
    $url = substr($url,$start+strlen($kw_start));
    $start = stripos($url,'&');
    if ($start>0)
    {
        $start=stripos($url,'&');
        $s_s_keyword=substr($url,0,$start);
    }
    else
    {
        $s_s_keyword=substr($url,0);
    }
    return $s_s_keyword;
}

$arr_key = array();
foreach($config as $item){
    $sh = preg_match("/b{$item['domain']}b/",$search_url);
    if($sh){
        $query = $item['kw']."=";

        $s_s_keyword = get_keyword($search_url,$query);
        $f_skey=urldecode($s_s_keyword);
        if($item['charset']=="utf-8"){
            $f_skey=iconv( "utf-8","gb2312//ignore",$f_skey); //最终提取的关键词
        }
        $keys = explode(" ",$f_skey);
        $arr_key[$item['domain']] = $keys;
    }
}
echo "<pre>";
print_r($arr_key);

?>
<form action="index.php" method="get">
    <input name="url" size="80"><button type="submit">go</button>
</form>

$iishost = new com("npoint_m.host");   '加载组件
$r = $iishost->iisstate(10, 1, "", "", "", "");  '运行组件功能,返回参数
echo $r;  '返回参数
切换net版本为
netstate(ifid, dirname, netver, iissapp, bkwebip, bkpass, webfiletype, bkport)
  参数说明:  ifid as ingeter : iis网站标识符
dirname as string : 目录名称   如: bbs 或 abcabdabe... 依此类推   dirname 为空 默认为站点
netver as string : .net版本号
iissapp as string : 切换的应用程序池名称   可留空(限独立进程池)
.net版本号(如: "v1.1.4322" 版本号在c:windowsmicrosoft.netframework里面.net文件夹名称)
注: 切换.net版本,除了独立进程池 其它的必须切换应用程序池 因为.net1.1 与 .net2.0... 不能共存
bkwebip as string : 被控访问网址/ip
bkpass as string : 被控访问密码
webfiletype as string : 被控站点文件格式 如: asp教程
bkport as integer : 被控站点端口 如: 999
* 成功返回 1  否则返回错误提示

下面看一个php教程 利用com 连接adodb.connection数据库教程*/

    //access执行类
    class db{
        var $conn;
        //var $rs_n;//记录当前rs的数量.
        //建立链接
        function create()
        {
            $this->conn = @new com("adodb.connection");  //这是13行
            $str="driver=microsoft access driver (*.mdb);dbq=".realpath("./dbdata/yuan555.mdb ");
            $$this->conn->open($str);
            //return $this->$conn ;
        }

        //建立方法
        function query($sql)
        {
            $_rs = @new com("adodb.recordset");
            $_rs->open($sql,$this->$conn,1,1);
            return $_rs;
        }
    }

    //实例化类
    $db=new db();
    $db->create();
    //--------------------------------
    $rs=$db->query("select * from product");   
    $rs->close();
    $rs = null;  //但close完了,一定要 null 的
    $db->close();

注明:文件上传能否成功要看你的写文件目录是否可用,表单与post获取的名是不是相同,以及php教程.ini中上传文件大小是不是在你可写范围之内。

<html>
<body>

<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="submit" />
</form>

</body>
</html>

php代码。

<?php


$store_dir='d:upload'; //文件上传后存储在服务器的路径
$uploadfile="$store_dir".basename($_files['sendfile']['name']); //上传文件的原始名字
$uploadfile_tmp=$_files['sendfile']['name_tmp']; //上传文件的临时名字
$err_msg=$_files['sendfile']['error']; //上传文件时产生的错误信息

if ($err_msg){
print "错误代码: $err_msg<br/>";
}
if (!is_writeable($store_dir)){ //检查上传的文件是否可写
print "$store_dir 目录不可写n";
exit;
}
else{
print "$store_dir 目录可写n";
}

if(isset($_files['sendfile'])) {
if(is_uploaded_file($uploadfile_tmp)){ //检查上传的文件是否存在,如果存在则对其进行下一步操作
print "文件检验成功n";
}
else {
print "文件检验失败,可能遭受文件上传攻击!";
exit;
}
if (move_uploaded_file($uploadfile_tmp,$uploadfile)) { //对上传的合法文件,将其重命名并移动到服务器的上传文件夹中
print "文件上传成功n";
}
else{
print "移动文件失败,可能遭受文件上传攻击!";
exit;
}
print "文件上载成功!<br/>";
}
else{
print "文件上载失败!<br/>";
}
?>

1,拼接字符串
拼接字符串是最常用到的字符串操作之一,在php教程中支持三种方式对字符串进行拼接操作,分别是圆点.分隔符{}操作,还有圆点等号.=来进行操作,圆点等号可以把一个比较长的字符串分解为几行进行定义,这样做是比较有好处的.


2,替换字符串
在php这门语言中,提供了一个名字叫做substr_replace()的函数,该函数的作用可以快速的完成扫描和编辑文本内容较多的字符串替换功能.他的语法格式:
 mixed substr_replace(mixed $string,string $replacement, int $start[,int $length])
 对于上面的语法格式的说明:
 string 是要检查或者将要被替换的字符串
 replacement 指定要用来插入或者替换的字符串
 start 指定在字符串的何处进行开始替换,这个参数可以取三种类型的值(正数:从字符串开头的第start个偏移量开始替换,负数,从字符串结尾处的第start个偏移量开始替换,0:从字符串中的第一个字符开始替换)
 length指定要替换多少个字符,这个参数也可以取三种类型的值(正数:被替换的字符串的长度,负数:从字符串的结尾开始被替换的字符串的长度,0:是插入操作,而不是替换操作);


3,计算字符串


1)计算字符串的长度
 在php中,strlen()函数用来计算字符串的长度并且返回该字符串的长度信息.该语法的格式如下:int strlen(string $string)格式里面的string就是用来指定要计算长度的字符串.


2)计算字符串的数目
 在php中,substr_count()函数,可以用来非常方便而且准确的确定一个指定的子字符串在所提供的字符串中有多少个,substr_count()函数的语法格式如下:int substr_count(string $haystack,string $needle[,int $offset=0[,int $length]])在上面的语法中设计的参数的说明如下:haystack指定要检查的字符串,needle用来指定要插入的字符串,offset用来指定在字符串中何处开始搜索,默认值为0,length用来指定搜索的长度.
 在php中,str_word_count()函数,可以用来非常方便而且准确的确定一个某一个单词在所提供的字符串中有多少个,str_word_count()函数的语法格式如下:mixed str_word_count(string $string[,int $format=0[,string $charlist]])在上面的语法中涉及到的参数的说明如下:string用来指定要进行检查的字符串,format用来指定str_word_count()函数的返回值,这个参数的返回值可以返回三个值,分别是0,1,2.其中返回0的意思是默认值,返回找到的单词的数目,如果返回值为1的话,那么str_word_count()返回的就是一个数组,其中的键名是从0开始的连续整数,值是实际的单词.如果format的值取3的时候,那么str_word_count()函数的返回值就是一个数组,其中,数组的键名是单词在字符串中的位置,值是实际的单词.


4,查找字符串


字符串的查找可以分为很多种,比如说查找子字符串,查找某个字符串的位置等等,php分别为每个字符串查找操作提供了相应的函数.


1)查找子字符串
 在php语言中,strstr()函数可以用来查找子字符串,该函数返回的结果为子字符串第一次出现的所有的内容,strstr()函数的格式如下:string strstr(string $haystack,mixed $needle)在上面的语法中,涉及到的参数的说明如下haystack:指定被搜索的字符串,needle指定所要搜索的字符串,如果该参数是数字的话,则会匹配器该数字ascii值的字符.在实际的应用当中,会出现要忽略字母大小写的情况,这个时候,可以使用php提供的一个大小写不敏感的查找函数--stristr()函数,该函数的使用方法和strstr()函数的使用是一样的.

2)查找字符串的位置
 strpos()函数的功能和strstr()函数是类似的,只是返回的不是字符串,而是一个字符串在另外一个字符串当中第一次出现的位置,strpos()的语法格式如下:int strpos(string $haystack,mixed $needle[,int $offset =0])在上面的语法中涉及到的参数的说明如下:haystack是要被搜索的字符串,needle指定要进行查找的字符串,offset是指定开始搜索的位置,默认值为0.
 strpos()函数是一个对大小写敏感的查找函数,但是在实际的应用过程当中往往会出现需要忽略大小写的,这个时候可以使用php提供的一个对大小写不是很敏感的查找函数stripos(),该函数的使用方法和strpos()是一样的.


5,比较字符串
在php语言中,比较两个字符串的大小可以通过两种方式来实现:使用"=="操作符比较和使用函数进行比较


1)使用"=="操作符比较两个字符串的大小
 在php中比较两个字符串的时候,最容易的方法就是使用双等号操作符(==).

2)使用函数比较字符串的大小
 在php中提供的strcmp()函数可以更加精确的比较两个字符串的大小,语法格式如下int strcmp(string $str1,string $str2)在上述语法中涉及到的参数的说明如下:str1 指定要进行比较的字符串1,str2指定要进行比较的字符串2.这个strcmp谙熟可以确保两个字符串是否完全匹配,并将比较结果以整数的形式返回,这个函数的返回值有以下三种.0:两个字符串是相等的,小于0的时候,第一个字符串是小于后面的字符串的,如果返回值是大于零的,那么就说明,前面的字符串是大于后面的字符串的.
 除了strcmp()函数之外,php还提供了另外一些比较类似的比较函数,比如strncmp()函数可以选择想要比较的字符串的长度(字符个数),其语法格式如下:int strcmp(string $str1,string $str2,int $len)上面的参数说明 str1:指定要比较的第一个字符串,str2:指定要比较的第二个字符串len:指定每个字符串用于比较的字符个数.
 在比较字符串的时候,有的时候需要忽略大小写,就可以使用strcasemp()函数和strncasemp()函数,这两个函数与区分大小写的相应函数的使用方法是完全相同的,strcasecmp()函数和strncasecmp()两个函数的语法格式分别如下:
 int strcasecmp(string $str1,string $str2)
 int strncasecmp(string $str1,string $str2,int $len)


6,复制字符串
如果需要重复n次显示一个字符或者一个字符串的功能,则最简单的实现方法就是调用复制函数,在php中可以使用str_repeat()函数实现字符串的复制,这个函数的语法格式如下:string str_repeat(string $input,int $multiplier)在上述的语法中设计的参数的说明如下input指定要重复的字符串,multiplier指定字符串将被重复的次数.


7,翻转字符串
处理字符串的操作还包括对字符串进行翻转在php语言中,使用strrev()函数可以实现反转字符串的功能,strrev()函数的语法格式为
 string strrev(string $string)
上面的参数string就是用于指定要进行翻转的字符串.


8,切分,合并字符串
把一个字符串按照某种规则切分成多个字符串,或者把多个字符串合并成一个长的字符串,是在处理字符串操作的时候会经常碰到的问题.使用php提供的explode()函数,str_split()函数,implode()函数可以处理类似切分,合并字符串的问题.


1)切分字符串
 explode()函数的功能就是用指定的分隔符把字符串切分成数组,explode()函数的语法格式如下:array explode(string $delimiter,string $string[,int $limit])在上面的语法中涉及到的参数的说明如下:delimiter:指定在哪里分隔字符串,string:指定要进行分割的字符串,limit:指定所返回的数组元素的最大数目,最后的子块将会包含string的剩余部分.
 str_split()函数的作用是能够将一个字符串分割成等长度的多个子字符串.str_split()函数的语法格式如下:array str_split(string $string[,int $split_length=1])上面的语法中的参数说明如下:string:指定要分割的字符串,split_length:指定每个数组元素的长度,默认值为"1".

2)合并字符串
 implode()函数的功能是将数组的元素连接起来成为字符串,implode()函数的语法格式如下:string implode([string $glue],array $pieces)在上述的语法中涉及到的参数的说明如下:glue()指定数组元素之间放置的内容,默认值为""(表示空格字符串)pieces指定要合并为字符串的数组.调用implode()函数可以根据参数所限制的条件获取一个新的字符串,达到合并字符串的目的.
 join()是implode()函数的别名,两个函数的用法是完全一样的,需要强调的是,虽然参数glue是可以选的,但是为了使程序拥有更好的兼容性,推荐使用两个参数.

总结一下字符串的相关操作方法:

[!--infotagslink--]

相关文章

  • PHP正则匹配img及标签各属性值(匹配图片函数)

    有一个项目要获取页面中所有img标签中的图片地址,这里我们使用到了preg_match_all正则函数,然后看我下面的一些参数即可实现了。 例 代码如下 复制代码 ...2016-11-25
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • PHP开发微信支付的代码分享

    微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
  • 一个关于JS正则匹配的踩坑记录

    这篇文章主要给大家介绍了一个关于JS正则匹配的踩坑记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
  • php怎么用拼音 简单的php中文转拼音的实现代码

    小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
  • php导出csv格式数据并将数字转换成文本的思路以及代码分享

    php导出csv格式数据实现:先定义一个字符串 存储内容,例如 $exportdata = '规则111,规则222,审222,规222,服2222,规则1,规则2,规则3,匹配字符,设置时间,有效期'."/n";然后对需要保存csv的数组进行foreach循环,例如复制代...2014-06-07
  • ecshop商品无限级分类代码

    ecshop商品无限级分类代码 function cat_options($spec_cat_id, $arr) { static $cat_options = array(); if (isset($cat_options[$spec_cat_id]))...2016-11-25
  • 几种延迟加载JS代码的方法加快网页的访问速度

    本文介绍了如何延迟javascript代码的加载,加快网页的访问速度。 当一个网站有很多js代码要加载,js代码放置的位置在一定程度上将会影像网页的加载速度,为了让我们的网页加载速度更快,本文总结了一下几个注意点...2013-10-13
  • vue项目,代码提交至码云,iconfont的用法说明

    这篇文章主要介绍了vue项目,代码提交至码云,iconfont的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-30