字符串章节的学习笔记以及小的函数使用案例

原创 2019-04-08 14:34:50 239
摘要:首先是笔记总结部分=====================php中 字符串输出方式=================echo语言结构:输出一个或多个字符串、字面量、单值变量【数组和对象不行】 可以输出html标签print:功能与echo相同,但是会有一个返回值,成功返回1print_r($var, $bool):可以输出一个标量、数组、对象等任何类型。var_dump($var,$var):可

首先是笔记总结部分


=====================php中 字符串输出方式=================


echo语言结构:输出一个或多个字符串、字面量、单值变量【数组和对象不行】

可以输出html标签

print:功能与echo相同,但是会有一个返回值,成功返回1

print_r($var, $bool):可以输出一个标量、数组、对象等任何类型。

var_dump($var,$var):可以输出一个或多个任何类型的变量,可以视为echo的升级版。

输出详细信息

var_export($var,$bool):以纯字符串的形式,输出任何类型的数据,可以用于php语句,适合于结果拼装

如果最后又true,那就是储存起来了这样一个字符串,而不会显示出来,可以用echo来输出。

printf():输出格式化的字符串,变量使用占位符,主要用于标量数据。


=====================php中 字符串的过滤与填充=================


1.过滤掉字符串中指定的字符。左边、右边、两边。

第一个参数是数组,第二个参数是指定要过滤的字符。0..9就是0~9都过滤掉

trim($str)

ltrim($str)

rtrim($str)


2.向指定方向,填充指定字符串到指定长度【有一些实际的用途】

str_pad($str1, $size, $str2, FLAG)

pad_type:STR_PAD_LEFT【可以指定方向,往左边填充】


3.典型应用:数据加密

密码一般都是md5() 32位字符串和sha1()40位字符串来产生,这些字符串都是随机产生的。

这两种加密方式的特点是相同的字母,加密结果总是相同的。


sha1(password)

md5(password)


pass = str_pad(password, 40, 'php',STR_PAD_BOTH)

对pass再一次加密


从而完成了在密码前后添加字符后,在进行加密。从而使得密码难以被破解。


=====================php中 大小写转换与使用场景分析=================


strtolower($str) //全部转换为小写

strtoupper($str)//全部转换为大写

ucfirst($str1, $str2)//将字符串的首字母转换为大写

ucwords($str)//将字符串的每个单词的首字母转换为大写


应用1:将文件全部转换为小写,从而实现跨平台(Windows下文件名是不区分大小写的,Linux下区分大小写)


应用2:在不区分大小写的时候。 将用户传回来的操作全部转换为小写。strtolower




=====================php中 HTML标签、特殊字符 的 解析与还原=================


如果写入过多JS代码,影响用户体验


源代码中,有一部分HTML希望解析,有一部分不希望解析。


nl2br($str)//在换行字符\n之前插入html换行标签<br>

\n实现在页面中的换行


htmlspecialchars($str)//引号 & 标签标记。。转换成html实体字符,不解析

标签不再是标签,而不解析。

从而防止恶意操作。

htmlspecialchars_decode($str)//上面的反操作


htmlentities($str)//将所有的html标记全转实体,包括了htmlspecialchars()中的标记【转换的字符更全面】

html_entity_decode


strip_tags()//过滤掉所有的html或php标记,也可以设置允许保留的标记,很实用

只要是标签都能过滤!

可以传入第二个参数,指定保留的标签


=====================php中 常用的字符串查找函数=================


根据特征查询,要么是根据目标字符串的【位置】,要么是根据字符串的【值】


substr(str,offset,length)//根据位置查询,获取指定位置或区间的字符串

strstr(str,str,bool)//查询字符串首次出现的位置,并且返回字符串

strpos(str,str,start)//查询字符串首次出现的位置,返回所在位置,是一个整数


=====================php中 字符串经典的替换操作=================


str_replace(str,str,str)//路径替换,命名空间转换。。//将字符串中的部分内容,用目标字符串进行替换

查找内容,换成啥,在哪个字符串操作

str_ireplace //在上面的基础上忽略大小写,粗查找


substr_replace(str,str,offset,size)//替换区间

在哪个字符串操作,替换对象,从哪里开始,替换多长


=====================php中 URL与JSON常用的操作函数=================


urlencode(url)//对URL地址字符串进行编码处理

就是在特殊字符前面加上%,防止服务器解析出现歧义,比如空格、中文汉字等

$url='';

$url = urlencode(str)

urldecode(url)//转换回到可以访问的URL地址

parseurl(url)//解析URL地址


http_build_query(arr)//生成URL动态查询字符串

【?键值对】问号后面的部分就是查询字符串

http_build_query(['cate_id'=>3,'art'=>10])


json相关的函数

1.json必须是utf8编码

2.不能处理资源类型:resource

json_encode(var)//将数据转为json格式。。。unicode编码

可以对变量、数组等进行编码

数组的编码结果类似于{"bust":88,"waist":85}

json_decode(str)//将json格式的字符串解析还原为变量

默认返回的都是对象格式

json_decode(json格式)

如果第二个可选参数写上true,则返回的是数组格式。


然后是小案例部分。在这里我的小案例做的是url相关的操作。

$url="www.baidu.com"; 
$url=urlencode(str);
echo $url;

这个小函数完成的是将URL地址中的特殊字符进行编码处理,从而防止服务器的解析出现歧义。

在本课程的学习中,主要是简单的函数的应用,但是结合起来可以达成很多网页上需要的功能,如密码的加密等,如防止外部的攻击等。具体的应用我会在后续的学习中继续思考,多加使用并且多加思考。


批改老师:查无此人批改时间:2019-04-08 16:08:11
老师总结:完成的不错,笔记写了那么多,看来你学了不少。继续加油。

发布手记

热门词条