Blogger Information
Blog 28
fans 0
comment 0
visits 19697
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
1017 正则函数 及 字符串函数 练习 20191017 2000-2200
没有人的夏天的博客
Original
653 people have browsed it

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


Correction status:qualified

Teacher's comments:合格
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post