博主信息
博文 28
粉丝 0
评论 0
访问量 25720
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
1017 正则函数 及 字符串函数 练习 20191017 2000-2200
没有人的夏天的博客
原创
881人浏览过

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>';
?>


批改状态:合格

老师批语:合格
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学