为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
PHP进阶篇_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

PHP进阶篇

Jason PHP开发工程师
难度初级
时长 9小时28分
  • [不懂就要问]正则表达式输出用数组? <?php //请修改变量p的正则表达式,使他能够匹配str中的姓名 $p = '/\w{6}\s\w{4}/'; $str = "name:steven jobs"; preg_match($p, $str, $match); echo $match[0]; //结果为:steven jobs 这是我写的,改了一下就对了,数组的键为0 <?php //请修改变量p的正则表达式,使他能够匹配str中的姓名 $p = '/name:([\w\s]+)/'; $str = "name:steven jobs"; preg_match($p, $str, $match); echo $match[1]; //结果为:steven jobs 这是教程给出的答案,数组的键为1 两个问题: 1 为什么要用数组才能输出? 2 为什么教程给出的用$match[1]?我的是[0]? 最佳回答 因为匹配的结果会存储在变量$match中,即preg_match($p, $str, $match)中的参数$match,而这个参数$match是一个数组。 因为你和教程的匹配方式不同,如果没有指明,匹配默认为贪婪模式,教程中的正则表达式明显有匹配name这个字符,匹配出的结果$match[0]为整个字符串"name:steven jobs",$match[1]才为steven jobs,而你的正则表达式则明显没有匹配name,所以当然$match[0]为steven jobs啦
    查看全部
  • 圆括号()是组,主要应用在限制多选结构的范围/分组/捕获文本/环视/特殊模式处理 示例: 1、(abc|bcd|cde),表示这一段是abc、bcd、cde三者之一均可,顺序也必须一致 2、(abc)?,表示这一组要么一起出现,要么不出现,出现则按此组内的顺序出现 3、(?:abc)表示找到这样abc这样一组,但不记录,不保存到$变量中,否则可以通过$x取第几个括号所匹配到的项,比如:(aaa)(bbb)(ccc)(?:ddd)(eee),可以用$1获取(aaa)匹配到的内容,而$3则获取到了(ccc)匹配到的内容,而$4则获取的是由(eee)匹配到的内容,因为前一对括号没有保存变量 4、a(?=bbb) 顺序环视 表示a后面必须紧跟3个连续的b 5、(?i:xxxx) 不区分大小写 (?s:.*) 跨行匹配.可以匹配回车符 方括号是单个匹配,字符集/排除字符集/命名字符集 []内的最少满足一个,不需要全部满足 eg.[\w\-] 示例: 1、[0-3],表示找到这一个位置上的字符只能是0到3这四个数字,与(abc|bcd|cde)的作用比较类似,但圆括号可以匹配多个连续的字符,而一对方括号只能匹配单个字符 2、[^0-3],表示找到这一个位置上的字符只能是除了0到3之外的所有字符 3、[:digit:] 0-9 [:alnum:] A-Za-z0-9
    查看全部
  • 关于match数组的说明: 文档上的解释为:如果提供了参数 matches ,它将被填充为搜索结果。 $matches[0] 将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。 文档上对于子组的说明为:子组通过圆括号分隔界定,并且它们可以嵌套。 如果正则表达式写为$p = '/\w+\s\w+/';,则没有子组,$matches[1]为空,而$matches[0]包含所匹配的文本;但是将表达式加上括号写为$p = '/(\w+\s\w+)/';,则有了子组,此时$matches[1]与$matches[0]相同。 这是因为()表示子组,$matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。
    查看全部
  • 贪婪模式与懒惰模式 正则表达式中每个元字符匹配一个字符,当使用+之后将会变的贪婪,它将匹配尽可能多的字符,但使用问号?字符时,它将尽可能少的匹配字符,既是懒惰模式。 贪婪模式:在可匹配与可不匹配的时候,优先匹配 //下面的\d表示匹配数字 $p = '/\d+\-\d+/'; $str = "我的电话是010-12345678"; preg_match($p, $str, $match); echo $match[0]; //结果为:010-12345678 懒惰模式:在可匹配与可不匹配的时候,优先不匹配 $p = '/\d?\-\d?/'; $str = "我的电话是010-12345678"; preg_match($p, $str, $match); echo $match[0]; //结果为:0-1 当我们确切的知道所匹配的字符长度的时候,可以使用{}指定匹配字符数 $p = '/\d{3}\-\d{8}/'; $str = "我的电话是010-12345678"; preg_match($p, $str, $match); echo $match[0]; //结果为:010-12345678
    查看全部
  • 类:成员变量、方法 对象是类的实例化
    查看全部
    0 采集 收起 来源:PHP类和对象

    2017-02-21

  • 1、通过imagepng可以直接输出图像到浏览器 2、使用imagepng可以将图像保存成png格式,如果要保存成其他格式需要使用不同的函数,使用imagejpeg将图片保存成jpeg格式,imagegif将图片保存成gif格式,需要说明的是,imagejpeg会对图片进行压缩,因此还可以设置一个质量参数。 3、imagepng($img, $filename); ​imagejpeg($img, $filename, 80); 图片质量 quality 为可选项,范围从 0(最差质量,文件更小)到 100(最佳质量,文件最大)。默认为 IJG 默认的质量值(大约 75)
    查看全部
    0 采集 收起

    2017-02-21

  • PHP在图像中绘制文字: 1、GD库可以进行多种图形的基本操作,常用的有绘制线条,背景填充,画矩形,绘制文字等。 2、imagestring函数来进行文字的绘制,这个函数的参数很多:imagestring ( resource $image , int $font , int $x , int $y , string $s , int $col ),可以通过$font来设置字体的大小,x,y设置文字显示的位置,$s是要绘制的文字,$col是文字的颜色。
    查看全部
    0 采集 收起

    2017-02-21

  • 左上角是(0,0)点,右下角是(宽,高)点。也就是说,坐标系的原点在图片的左上角。 imageline 的原型为: bool imageline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color ) 参数分别对应:图像变量,第一个点横坐标,第一个点纵坐标,第二个点横坐标,第二个点纵坐标
    查看全部
    0 采集 收起

    2017-02-21

  • 摘录: 通过imagecreatetruecolor函数创建画布:$画布名称 = imagecreatetruecolor(宽, 高); 通过imagecolorallocate函数设定颜色:$颜色名称 = imagecolorallocate($所属画布名称, red, green, blue); 通过mageline绘制线条:imageline($所属画布名称, 起点x, 起点y, 终点x, 终点y, $使用的颜色名称); 通过imagestring绘制文字:imagestring ( $所属画布名称 , 字体大小 , 显示坐标x , 显示坐标y , "输出字符串" , $想要的颜色 ); 绘制后通过header与imagepng输出图像: header("content-type: image/png"); imagepng($要输出的画布名称); 调用imagedestroy释放该图片占用的内存: imagedestroy($要释放的画布名称); 通过imagepng指定文件名将绘制后的图像保存文件夹中。 $filename = '文件名.jpg'; $filename2 = '文件名.gif'; imagepng($要保存的画布名称, '文件名.png'); ​imagejpeg($要保存的画布名称, $filename, 图片质量数值); imagegif($要保存的画布名称, $filename); 使用imagesetpixel绘制点来实现噪点干扰,但是只绘制一个点的作用不大,因此这里常常会使用循环进行随机绘制: for($i=0;$i<50;$i++) { imagesetpixel($im, rand(0, 100) , rand(0, 100) , $black); imagesetpixel($im, rand(0, 100) , rand(0, 100) , $green); }
    查看全部
    0 采集 收起

    2018-03-22

  • PHP绘制图形: 1、新建画布:通过imagecreatetruecolor函数可以创建一个真彩色的空白图片:$img = imagecreatetruecolor(100, 100); 2、画笔颜色:通过imagecolorallocate函数进行分配,通过参数设定RGB的颜色值来确定画笔的颜色:$red = imagecolorallocate($img, 0xFF, 0x00, 0x00); 3、线条的绘制:过调用绘制线段函数imageline进行线条的绘制,通过指定起点跟终点来最终得到线条。imageline($img, 0, 0, 100, 100, $red); 4、图像的输出:通过header与imagepng进行图像的输出 header("content-type: image/png"); imagepng($img); 5、释放图片内存:调用imagedestroy释放该图片占用的内存。 imagedestroy($img); 得到一个图片文件,可以通过imagepng函数指定文件名将绘制后的图像保存到文件中。 imagepng($img, 'img.png');
    查看全部
    0 采集 收起

    2018-03-22

  • $red后面的三个参数是就rgb值。题目中给的是16进制。颜色是ff,00,00。也就是对应10进制的255, 0,0。是红色。你可以改这三个参数。16进制只要在0到ff之间都可以。比如ff,ff,ff就是白色;00,00,00就是黑色;00ff00就是绿色;0000ff就是蓝色。
    查看全部
    0 采集 收起

    2017-02-21

  • header("content-type: image/png"); $img=imagecreatetruecolor(100, 100);创建一个真彩色的空白图片: $red=imagecolorallocate($img, 0xFF, 0x00, 0x00);进行分配画笔颜色 imagefill($img, 0, 0, $red);进行线条的绘制,通过指定起点跟终点来最终得到线条。 imagepng($img);得到一个图片文件,指定文件名将绘制后的图像保存到文件中。 imagedestroy($img);销毁图片 GD库常用在图片加水印,验证码生成等方面
    查看全部
    0 采集 收起

    2018-03-22

  • 1、PHP的GD库是用来处理图形的扩展库,通过GD库提供的一系列API,可以对图像进行处理或者直接生成新的图片。 2、通过GD库,可以对JPG、PNG、GIF、SWF等图片进行处理。GD库常用在图片加水印,验证码生成等方面。
    查看全部
    0 采集 收起

    2017-02-21

  • header("content-type: image/png"); $img=imagecreatetruecolor(100, 100);创建一个真彩色的空白图片: $red=imagecolorallocate($img, 0xFF, 0x00, 0x00);进行分配画笔颜色 imagefill($img, 0, 0, $red);进行线条的绘制,通过指定起点跟终点来最终得到线条。 imagepng($img);得到一个图片文件,指定文件名将绘制后的图像保存到文件中。 imagedestroy($img);销毁图片 GD库常用在图片加水印,验证码生成等方面
    查看全部
    0 采集 收起

    2018-03-22

  • $red后面的三个参数是就rgb值。题目中给的是16进制。颜色是ff,00,00。也就是对应10进制的255, 0,0。是红色。你可以改这三个参数。16进制只要在0到ff之间都可以。比如ff,ff,ff就是白色;00,00,00就是黑色;00ff00就是绿色;0000ff就是蓝色。
    查看全部
    0 采集 收起

    2017-02-21

举报

0/150
提交
取消
课程须知
需要有一定的网页基础知识如HTML、CSS样式等,并且已经学习完成《PHP入门篇》对PHP已经有了简单的了解,如变量、常量、数据类型等。
老师告诉你能学到什么?
全面的掌握PHP的理论知识与实践中的应用方法,提高编程能力与掌握网页开发技能。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!