php 图片地址和删除网址部份正则方法

 更新时间:2016年11月25日 17:10  点击:1542

下面方法很简单,我们只要把$tmppath里面所有的以http://开的网站全部去了,


$picpath =preg_replace("/[a-za-z]+://[^ |/|s]*/",'',$tmppath);//去掉网址部分

这个正则表达式是获取字符串中所有的以src src不区分大小的获取所有图片的地址出来,并且保存在$tmpdata[2]中。
 preg_match_all("/src=["|'|s|s]([^|/|>]*){0,}(([^>]*).(gif|jpg|png))/isu",$body,$tmpdata);

$picspath =array_unique($tmpdata[2]);//body中所有图片的地址

php教程 cookies 删除,赋值方法

cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 php,您能够创建并取回 cookie 的值

语法

setcookie(name, value, expire, path, domain);

**
  * 设置cookie
   * n 名称
   * c 值
   * e 有效期 0 默认 一个月 1 关闭立即失效
   */
 

function w_cookie($n, $c, $e = 0,$isdes=1)
 {
   if($isdes==1){$c=endes($c,deskey);}
      $exp = time() + 3600 * 24 * 30;
      if($e == 0)
     {
          setcookie($n, $c, $exp,"/");
     }
     else
     {
      setcookie($n, $c,0,"/");
      }
 }


 
 //关闭cookie方法
 

 

w_cookie('bb', 'www.111cn.net', $e = 0,$isdes=1);


更多详细内容请查看:http://www.111cn.net/phper/php/34040.htm

更详细的方法

 

<?php
function set_cronology($name,$value,$duration=7){
$duration=time()+(3600*24*$duration);
$max_stored_values=5;
if(isset($_cookie[$name])){
foreach($_cookie[$name] as $prop_crono=>$val_crono){
if($val_crono==$value)
return;
}
if($prop_crono<$max_stored_values)
setcookie($name.'['.($prop_crono+1).']',$value,$duration);
else{
array_shift($_cookie[$name]);
setcookie("$name[$max_stored_values]",$value,$duration);
}
}else
setcookie($name.'[0]',$value,$duration);
return;
}
?>

注释:setcookie() 函数必须位于 <html> 标签之前。在发送 cookie 时,cookie 的值会自动进行 url 编码,在取回时进行自动解码(为防止 url 编码,请使用 setrawcookie() 取而代之)。

php教程 ini_get错误设置方法

利用ini_set可以快速的修改php.ini配置设置哦,无需打开php.ini就可以了,特别是虚拟主机时你没有修改php.ini的权限时就会发现这个函数的作用了,下面看几个实例吧。
*/
//ini_set具有更改php.ini设置的功能。此函数接收两个参数:需要调整的配置变量名,以及变量的新值。

更多详细内容请查看:http://www.111cn.net/phper/php-function/34292.htm

<?php
 error_reporting(e_all);    //1.指定错误报告,错误类型为全部
 
 //ini_set("error_reporting",e_all);    //临时改变配置文件的值
 //ini_get("upload_max_filesize");    //获取配置文件的值
 
 ini_set("display_errors","off");    //2.关闭配置文件中的显示错误
 ini_set("log_errors","on");    //3.开启错误日志功能
 ini_set("error_log","c:/error.log");    //4.指定错误文件(可写)
 
 error_log("this is a error message!!!!");    //输出错误信息
 
?>


错误处理
 1.语法错误
    2.运行时的错误
    3.逻辑错误
   
错误报告:
 错误:e_error
    警告:e_warning
    注意:e_notice
   
建议:
 开发阶段:开发是输出所有的错误报告,有利于调试程序
    运行阶段:不要让程序输出任何一种错误报告

将多个数组合并起来
1.合并数组
array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。其形式为:


view sourceprint?1 array array_merge (array array1 array2…,arrayn)


 

将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
实例如下:


view sourceprint?1 $face = array("j","q","k","a"); 

2 $numbered = array("2","3","4","5","6","7","8","9"); 

3 $cards = array_merge($face, $numbered); 

4 shuffle($cards); 

5 print_r($cards);


 

这将返回如下所示的结果,运行代码:


view sourceprint?array ( [0] => a [1] => 4 [2] => 9 [3] => 3 [4] => k [5] => 7 [6] => 5 [7] => q [8] => 6 [9] => 8 [10] => 2 [11] => j )


 

 

2.递归追加数组
array_merge_recursive()函数与array_merge()相同,可以将两个或多个数组合并在一起,形成一个联合的数组.两者之间的区别在于,当某个输入数组中的某个键己经存在于结果数组中时该函数会采取不同的处理方式.array_merge()会覆盖前面存在的键/值对,替换为当前输入数组中的键/值对,而array_merge_recursive()将把两个值合并在一起,形成一个新的数组,并以原有的键作为数组名。还有一个数组合并的形式,就是递归追加数组。其形式为:


view sourceprint?array array_merge_recursive( array key,array values )


 

示例如下:


view sourceprint?1 $class1 = array("john" => 100, "james" => 85); 

2 $class2 = array("micky" => 78, "john" => 45); 

3 $classscores = array_merge_recursive($class1, $class2); 

4 print_r($classscores);


 

这将返回如下结果:


view sourceprint?array ( [john] => array ( [0] => 100 [1] => 45 ) [james] => 85 [micky] => 78 )


 

 

3.连接两个数组
array_combine()函数会得到一个新数组,它由一组提交的键和对应的值组成。其形式为:


view sourceprint?array array_merge(array array1,array array2[…,array arrayn])


 

注意,两个输入数组必须大小相同,不能为空。示例如下:


view sourceprint?1 $abbreviations = array("al","ak","az","ar"); 

2 $states = array("alabama","alaska","arizona","arkansas"); 

3 $statemap = array_combine($abbreviations,$states); 

4 print_r($statemap);


 

这会返回:


view sourceprint?1 array ( [al] => alabama [ak] => alaska [az] => arizona [ar] => arkansas )

ange($low, $high),range($low, $high, $step);//创建顺序值的数组如:range(1,4)为(1,2,3,4)又如range('a','z')

each($array)按顺序返回数组的当前元素,并且将下一个元素设置为当前元素;

reset($array)将数组当前元素重新设置到数组开始处

list()可以用来将一个数组分解为一系列的值,如 list($a,$b)=each($array)

shuffle($array),array_rand($arg, $num_req);对数组随机排序

array_reverse($input),array_reverse($input, $preserve_keys)   返回原数组的反向排序

sort($array);对数组排序

 

php教程数组是一个重要的概念,它包含有大量的函数,方便人们的开发…现将它的数组分类,以方便查询及应用.
先说说php数组的定义…php数组包含两个项,key和value,可以通过key来获取相应的value,其中key又可以是数值和关联的,如$array[0],$array[one]…
创建数组
php中的数组声明跟其它语言的也有点小小的差别,但一样可以声明为一维,两维,三维及多维等,如
$array[0] = 1,$array = array(1,2,3); 一维数组,只包括三个值,属于数值型数组,引用时可用$array[0]来代表1,创建数值数组时可以省略索引.

$array = array(
   1 => “one”,
   2 => “two”,
   3 => “three”,
   4 => array(
    “one” => 1,
    “two” => 2,
    “three” => 3
   )
);

二维数组,同时又是关联数组,引用时可以$array[4][“one”]来代表1.
三维以上依此类推…
如果要批量创建数组,则可以通过下面这个函数:
array range ( mixed low, mixed high [, number step] )
如$array = range(1,6);代表array(1,2,3,4,5,6);
   $array = range(a,f); 代表 array(a,b,c,d,e,f);

输出数组
php中输出数组的函数有比较多,常用的有
bool print_r ( mixed expression [, bool return] )
void var_dump ( mixed expression [, mixed expression [, ...]] )
还有像echo,print,printf都可以输出单个数组.

[!--infotagslink--]

相关文章

  • 一个关于JS正则匹配的踩坑记录

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

    经常制作开发不同的网站的后台,写过很多种不同的后台导航写法。 最终积累了这种最写法,算是最好的吧...2013-09-29
  • js正则学习小记之匹配字符串字面量

    关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配,因为我想学完之后写个语法高亮练手,所以用js代码当作例子...2021-05-07
  • js 正则学习小记之匹配字符串字面量优化篇

    昨天在《js 正则学习小记之匹配字符串字面量》谈到 /"(?:\\.|[^"])*"/ 是个不错的表达式,因为可以满足我们的要求,所以这个表达式可用,但不一定是最好的...2021-05-07
  • C#使用正则表达式过滤html标签

    最近在开发一个项目,其中有需求要求我们把一段html转换为一般文本返回,使用正则表达式是明智的选择,下面小编给介绍下C#使用正则表达式过滤html标签,需要的朋友参考下...2020-06-25
  • JS基于正则截取替换特定字符之间字符串操作示例

    这篇文章主要介绍了JS基于正则截取替换特定字符之间字符串操作方法,结合具体实例形式分析了JS基于正则实现针对特殊字符、数字等字符串类型的截取操作相关技巧,需要的朋友可以参考下...2017-02-08
  • 浅谈JS正则RegExp对象

    这篇文章主要介绍JS正则RegExp对象,正则表达式是描述字符模式的对象,用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。下面就来看具体详情,需要的朋友可以参考一下...2021-10-21
  • OpenResty中正则模式匹配的2种方法详解

    在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 Nginx 的规范,下面这篇文章主要给大家介绍了关于OpenResty中正则模式匹配的2种方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。...2020-06-30
  • 浅谈js正则之test方法bug篇

    其实我很少用这个,所以之前一直没注意这个问题,自从落叶那厮写了个变态的测试我才去看了下这东西...2021-05-07
  • JS利用正则配合replace替换指定字符

    替换指定字符的方法有很多,在本文为大家详细介绍下,JS利用正则配合replace是如何做到的,喜欢的朋友可以参考下...2021-05-07
  • 如何判断用户是否访问过某个网址

    一位站长译的一个国外的如何判断用户是否访问过某个网址文章,个人感觉写得非常不错,下面分享一下。 我们经常有这样的需求:想知道用户之前有没有访问过某个网址。有...2016-09-20
  • Spring-AOP 静态正则表达式方法如何匹配切面

    这篇文章主要介绍了Spring-AOP 静态正则表达式方法如何匹配切面的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-19
  • php正则中文表达式

    php教程正则中文表达式 $str = "abc一二三cde"; echo preg_replace('/[^x4e00-x9fa5]/i'," ",$str); $str = "php编程"; if (preg_match("/^[x4e00-x9fa5]+$/u",$s...2016-11-25
  • php正则入门 实习email和URL验证

    匹配email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 匹配网址url的正则表达式:[a-za-z]+://[^s]* 下面看一实例 <body onload="f.a.select();"> <?php...2016-11-25
  • php正则获取文章内容中图片地址例子

    正则提取图片中的地址我们介绍过很多的相关文章了,下面再来给各位介绍一个可以提取内容中第一张图片的例子,希望对各位有帮助。 代码如下 复制代码 ...2016-11-25
  • 采集远程图片图片并且替换图片地址代码

    现在用php采集远程图片是很简单的事情,但是我们要把采集过来的数据进行过滤,这恐怕得用到正则表达式了,下面的程序是采集远程图片图片并且替换图片地址代码。 $dir_...2016-11-25
  • PHP正则判断输入是否字母实例程序

    在php中判断是否为纯字母我们可直接使用正则/^[a-zA-Z]$/来验证了,包括大小写字母哦,有需要了解的同学可参考参考。 上代码 代码如下 复制代码 ...2016-11-25
  • C#正则检测字符串是否字母数字混编的方法

    这篇文章主要介绍了C#正则检测字符串是否字母数字混编的方法,涉及C#正则判定字符串的使用技巧,需要的朋友可以参考下...2020-06-25
  • 安卓中Picasso加载中文网址失败的解决方法

    中文网址对于许多的地方是不兼容的但只要转换在uft8好像又可以解决了,下面来看一篇安卓中Picasso加载中文网址失败的解决方法,具体如下 写这篇博客之前,也是先感叹一...2016-10-02
  • 正则文章内容中img图片地址与正则内容中的a连接地址

    本篇实例主要是讲到关于如何使用php中正则表达试来获取我们想要的东西,上面的实例就是要把文章内容字符串的链接地址与图片地址全部取出来,所有我们要正则就方便多了...2016-11-25