常见的函数
eval和assert函数
eval()、assert() 将输入的字符串参数作为PHP程序代码来执行
去访问,并加上php代码,看看是否能够执行
执行了!记得php代码结束要有 ; 分号
不符合php代码,就会执行下面的输出,
同时!!在这里也可以执行系统命令,system()
回调函数
call_user_func(callable $xxx [,$yyyy [,$zzz.....]])
$xxx是调用的自定义函数名称
#yyy 是自定义函数的参数
常见的回调执行函数
call_user_func() 、 call_user_func_array()、array_map()等
第一个是要调用的函数名,第二个是该函数使用的参数
第二种形式
动态执行函数
1.定义一个函数
2.将函数名(字符串)赋给一个变量
3.使用变量名代替函数名动态调用函数
$_GET[]
接收GET请求a的参数作为一个函数,b是作为a函数里面的参数
正则表达式
preg_match_all 函数
找到两个
特殊字符,的 需要转义\
3正则表达式
\d 0-9
\d 匹配的都是数字 /D都是字母
4自定义原子
5限定符
$pattern1 = '/go*gle/'; //*匹配前面出现的原子次数 0次 1次 或多次
$pattern2 = '/go+gle/'; //+ 匹配前面出现的原词 1次或多次
$pattern3 = '/go?gle/'; //? 匹配前面出现的原子 0次或1次
$str = "ggle"
6边界限定
$pattern1 = '/^abc/'; //^ 匹配以 abc 开头的
$pattern2 = '/abc$/'; // 匹配以 abc 结尾的
$pattern3 = '/^abc$/'; //只匹配 abc
7反向引用
比如匹配一个时间的内容
$pattern1 = '/\d{4}(-)\d{2}\\1\d{2}/'; // //1代表第一个()缓冲区 \\2
$str = "2023-04-16";
preg_replace函数
preg_replace(1,2,3)
1 正则匹配的内容
2 用于替换的字符串
3 要进行搜索和替换的字符串或字符串数组
1 存在/e模式修正符修饰允许代码执行
如果php 匹配到 /php/e 了,就执行第二个参数 $_GET['cmd']
让字符串匹配到正则
让$str 匹配到 前面的正则,[/php/](.*?)[/php/] /e 是修正 所以传参是[php]phpinfo()[php]
还需要了解了解 正则表达式