第四章的内容与c/cpp没有太大区别
只是还是变量表示上的
故不再赘述
5.1.1 使用单引号或双引号定义字符串
单引号直接当作一个字符串原封不动
双引号是会解析一下
5.1.2 使用定界符定义字符串
定界符(<<<)用于定义格式化的大文本,这里的格式化是指文本中的格式被保留,所 以文本中不需要使用转义字符.使用定界符的语法格式如下:
$string = <<< str
字符串的具体内容
str;
5.1.3字符串的连接
1.用点连接
2.用{}来连接
<?php
$a="春华";
$c="{$a}秋实";
echo $c;
?>
5.2 字符串操作
5.2.1去除字符串首尾空格和特殊字符
1.trim()函数
trim()函数从字符串两边同时除去首尾空格和特殊字符
trim(string,charlist);
charlist是自选参数,如果不进行设置,以下字符会被删除
“\0”. NULL
“\t”
“\n”
"\x0B"垂直制表符
“\r”返回字符
“ ”:空格
<?php
$name=" 张北京 ";
$name=trime($name);
?>
2.ltrim()从左边清除
3.rtrim()从右边清除
5.2.2获取字符串的长度 strlen()
5.2.3截取字符串substr(目标字符串,起始位置,截取长度)
5.2.4 检索字符串str(目标字符串,需要查找的字符串)
当函数找到需要查找的字符或者字符串时,返回第一个查找到的字符串的位置往后所有的字符串内容
stristr()为不敏感查找,对字符的大小写不敏感
5.2.5替换字符串 substr_replace(目标字符串,替换字符串,起始位置,替换长度)
5.2.6 分割和合成字符串
explode( )使用一个字符串分割另一个字符串,并返回由字符串组成的数组
explode(separator,string,limit)
separator用于制定在哪里分割字符串
string为需要分割的字符串
limit为可选参数,规定所返回的数组元素的数目
implode( )返回一个由数组元素合成的字符串
implode(separator,array)
separator为可选参数默认是空字符串
5.2.7统计字符串中单词的个数
str_world_count()
5.3正则表达式
Web编程中经常会遇到查找符合某些复杂规则字符串的需求
「规范文本或者字符串」
5.3.2行定位符
行定位符用来匹配字符串出现的位置
在目标字符串开头出现使用"^"
在结尾出现使用“KaTeX parse error: Expected group after '^' at position 51: …aa== 有一个特殊表示" ^̲ ^[a-z]$ "
5.3.3元字符(除了^ $还有很多有用的字符)
- \w:匹配字母数字下划线或者汉字
- .:通配符可以表示除换行符以外的所有字符和数字
- \s:匹配任意的空白符
- \d:匹配数字
- \b:匹配单词的开始或结束
\bhe\w*\b
代表以he开始,接着是任意数量的字母或者数字最后是单词结尾
5.3.4限定符
\w*代表匹配任意数量的字母或者数字,如果要匹配特定数量的数字就要使用限定符
- "+"表示其前面的字符至少有一个,如b+表示字符串必须要有一个b
- "*"表示前面的字符不止有一个
- "?"表示前面的字符有一个或者0个
- "{n,m}"表示字符有n或者m个,如a{3,5}表示有3个或者5个a
- ".*"广义匹配,匹配任意字符
5.3.5方括号[name]表示需要匹配的字符是’n’a’m’e’
元字符^ 放在[]里表示排除
[^a-z]表示匹配不以小写字母开头的字符串
5.3.6连字符,见上方用法就是表示从什么到什么
5.3.7选择字符
( a | b | c )可以是这三种情况里的一种
5.3.8转义字符
就是.*这种有特殊含义的,但是我们只是想匹配一个点并没有其他意思就需要在前面加上\
5.3.9分组
he(ad|art)可以匹配head或者heart