批改状态:合格
老师批语:合格
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>';
?>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号