Correction status:qualified
Teacher's comments:合格
1,正则函数
<?php //变量配置信息 //目标变量 字符串或网址 $str = "dkajdfkajdfqjeipjfa ,cmcmieaiejccjkdkdjfdkfjdkalpwpoc.zvnnvzpwpwin,v.zpweirjxa?>:-{}{)(*¥¥ }】pdalkd dkdk aoexn, bbbb, aaaa,ccc, ??? "; //条件 正则表达式 $pattem = '/a/'; //替换内容 $0 表示 被替换的内容 $rep = "/php中文网$0/"; //字符串分隔符 正则表达式 $pattem2 = '/,/'; //替换个数 $num = 2; // 正则字符串操作函数 //1.获取方法: preg_match 在 字符串 中获取第一个满足条件的结果 //implode("", $str) 可以把数组转成字符串 $a = preg_match($pattem, $str, $match); echo '查找字符串中的满足条件的第一个内容 :'; // print_r(implode("", $str)); print_r($match); echo '<hr>' . '获取的结果的数量 :'; print_r($a); echo '<hr>'; //2. 获取方法: preg_match_all 在 字符串 中获取全部满足条件的结果 $a = preg_match_all($pattem, $str, $match); echo '查找字符串中所有满足条件的内容 :'; print_r($match); echo '<hr>' . '获取的结果的数量 :'; print_r($a); echo '<hr>'; //3.分隔字符串 : //用正则表达式函数 preg_split 分隔字符串 为一个数组 $p2 = preg_quote($pattem2); $str = preg_split($pattem2, $str); echo "根据{$p2}号用正则表达式分隔字符串后生成的 目标数组 :" . '<br>'; print_r($str); echo '<hr>'; //4.输出正则表达式内容函数:preg_quote $p = preg_quote($pattem); $r = preg_quote($rep); echo "要查找的正则表达式内容 :" . '<br> '; print_r($p); echo '<hr>'; echo '要替换为的正则表达式内容 :' . '<br> '; print_r($r); echo '<hr>'; // 正则数组操作函数 //5.在数组中查找所有符合条件的数据:preg_grep $a = preg_grep($pattem, $str); echo "查找目标数组中 包含{$p}的数据 " . '<br>'; print_r($a); echo '<hr>'; //6.替换目标内容 ,preg_replace 在 数组 中查找并替换目标内容,返回替换后的 数组 //在str中 查找pattem 2次,并替换为 $rep, $a = preg_replace($pattem, $rep, $str, $num); echo "查找包含{$p}的前两个替换为{$r},并生成 含未替换部分 的新数组: " . '<br>'; print_r($a); echo '<hr>'; $a = preg_replace($pattem, $rep, $str); echo "查找所有包含{$p}的部分替换为{$r},并生成 含未替换部分 的新数组: " . '<br>'; print_r($a); echo '<hr>'; //7.替换目标内容: preg_filter 在 数组 中查找并替换目标内容,返回替换内容组成的 数组 $a = preg_filter($pattem, $rep, $str, $num); echo "查找包含{$p}的前两个替换为{$r},并生成 不含未替换部分 的新数组: " . '<br>'; print_r($a); echo '<hr>'; $a = preg_filter($pattem, $rep, $str); echo "查找所有包含{$p}的部分替换为{$r},并生成 不含未替换部分 的新数组: " . '<br>'; print_r($a); echo '<hr>'; ?>
2,字符串函数
<?php //变量配置信息 //目标变量 字符串或网址 $str = "dkajdfkajdfqjeipjfa ,cmcmieaiejccjkdkdjfdkfjdkalpwpoc.zvnnvzpwpwin,v.zpweirjxa?>:-{}{)(*¥¥ }】pdalkd dkdk aoexn, bbbb, aaaa,ccc, ??? "; //条件 字符串 $pattem1 = "a"; //字符串分隔符 字符串 $pattem3 = ','; //被替换的内容 $rep = "PHP中文网"; //替换个数 $num = 2; // 1. 用字符串函数 explode分隔 字符串为数组 $a = explode($pattem3, $str); echo "根据{$pattem3}号用字符串函数explode 分隔字符串生成的 目标数组 :" . '<br>'; print_r($a); echo '<hr>'; // 2.用字符串函数 strstr strrchr 在字符串中查找满足条件的内容 echo "要查找的内容:{$pattem1} " . '<br>'; echo '用字符串函数 strstr 查找字符串中第一个满足条件的后面内容 : ' . '<br>'; print_r(strstr($str, $pattem1)); echo '<hr>'; echo '用字符串函数 strstr 查找字符串中第一个满足条件的前面内容 : ' . '<br>'; print_r(strstr($str, $pattem1, true)); echo '<hr>'; echo '用字符串函数 strrchr 查找字符串中最后一个满足条件的后面内容 : ' . '<br>'; print_r(strrchr($str, $pattem1)); echo '<hr>'; //3. 查找并替换 $b = strtr($str, $pattem1, $rep); echo "用字符串函数strtr 查找全部:{$pattem1},并替换为:{$rep}, 该函数用变量及字符串方式,以较短的数据为准,这里只用p替换了a,hp中文网没能出现: " . '<br>'; print_r($b); echo '<hr>'; $c = ['a' => 'php中文网', 'c' => '爬虫']; $b = strtr($str, $c); echo "用字符串函数strtr 通过数组方式 可以实现全部覆盖和多条件替换 : " . '<br>'; print_r($b); echo '<hr>'; //4. 删除字符串空格或其它内容 echo "用字符串函数trim 移除两边的 空格及不可见制表符 空 换行 回车 " . '<br>'; print_r(trim($b)); echo '<hr>'; echo "用字符串函数trim 移除两边的 ?, 注意中英文字符集,不可见制表符" . '<br>'; print_r(trim(trim($b), "?")); echo '<hr>'; ?>