🍬 博主介绍
👨🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
目录
字符串定义语法
1)单引号字符串:使用单引号包裹
2)双引号字符串:使用双引号包裹
字符串转义
转义的含义:在计算机通用协议中,有一些特定的方式定义的字母,系统会特定处理:通常这种方式都是使用反斜杠+字母(单词)的特性:
\r\n:回车换行
PHP在识别转义字符的时候也是使用同样的模式:反斜杠+字母
在PHP中系统常用的转义符号:
\’:在单引号字符串中显示单引号
\”:在双引号字符串中显示双引号
\r:代表回车(理论上是回到当前行的首位置)
\n:代表新一行
\t:类似tab键,输出4个空格
\$:在PHP中使用$符号作为变量符号,因此需要特定识别
单引号和双引号的区别:
1、 其中单引号中能够识别\’,而双引号中就不能识别\’(下图浏览器查看的是页面源代码)
2、 双引号中因为能够识别$符号,所以双引号中可以解析变量,而单引号不可以
双引号中变量识别的规则
1)变量本身系统能够与后面的内容区分:应该保证变量的独立性,不要让系统难以区分
2)使用变量专业标识符(区分),给变量加上一组大括号{}
结构化定义字符串变量的规则:
-
1、 结构化定义字符串对应的边界符有条件:
1.1 上边界符后面不能跟任何内容;
1.2 下边界符必须顶格:最左边;
1.3 下边界同样后面只能跟分号,不能跟任何内容;
-
2、 结构化定义字符串的内部(边界符之间)的所有内容都是字符串本身
字符串长度问题
1)基本函数strlen():得到字符串的长度(字节为单位)
2)多字节字符串的长度问题:包含中文的长度
字符串相关函数
1)转换函数:implode(), explode(), str_split()
Implode(连接方式,数组):将数组中的元素按照某个规则连接成一个字符串
Explode(分割字符,目标字符串):将字符串按照某个格式进行分割,变成数组
中国|北京|顺义 == array(‘中国’,‘北京’,’顺义’);
Str_split(字符串,字符长度):按照指定长度拆分字符串得到数组
2)截取函数:trim(), ltrim(), rtrim()
Trim(字符串[,指定字符]):本身默认是用来去除字符串两边的空格(中间不行),但是也可以指定要去除的内容,是按照指定的内容循环去除两边有的内容:直到碰到一个不是目标字符为止
Ltrim():去除左边的
Rtrim():去除右边的
3)截取函数:substr(), strstr()
Substr(字符串,起始位置从0开始[,长度]):指定位置开始截取字符串,可以截取指定长度(不指定到最后)
Strstr(字符串,匹配字符):从指定位置开始,截取到最后(可以用来去文件后缀名)
4)大小转换函数:strtolower(), strtoupper(), ucfirst()
Strtolower:全部小写
Strtoupper:全部大写
Ucfirst:首字母大写
5)查找函数:strpos(), strrpos()
Strpos(字符串,匹配字符):判断字符在目标字符串中出现的位置(首次)
Strrpos(字符串,匹配字符):判断字符在目标字符串中最后出现的位置
6)替换函数:str_replace()
Str_replace(匹配目标,替换的内容,字符串本身):将目标字符串中部分字符串进行替换
7)格式化函数:printf(), sprintf()
Printf/sprintf(输出字符串有占位符,顺序占位内容..):格式化输出数据
8)其他:str_repeat(), str_shuffle()
Str_repeat():重复某个字符串N次
Str_shuffle():随机打乱字符串