PHP正则表达式的字符串练习(上)【10大题训练——做完就学会】

>>> 字符串部分 <<<

第一题 【 trim(),ltrim(),rtrim() 】

trim(),ltrim(),rtrim()分别用于删除字符串两边,最左边,最右边与第二个参数相同的 字符,如果第二个参数省略,则删除空格、制表符、”\n”、”\r”、”\0”、”\x0b”等特殊字符。

代码 >>>

<?php
$str1="hello";
$str2="aaaahelloa";
echo trim($str1)."<br/>";
echo ltrim($str2,"a")."<br/>";
echo trim($str2,"ah")."<br/>";

运行结果截图 >>>
在这里插入图片描述



第二题【strcmp($str1,$str2) , strcasecmp($str1,$str2) , strncmp($str1,$str2,$len)】

strncasecmp($str1,$str2,$len)四个函数中 strcmp()函数用于区分大小写的字符串的比较;strcasecmp()用于不区分大小写的字符串的比较;strncmp()用于比较字符串的一部分,从字 符串的开头进行比较,$len 是比较的长度;strncasecmp()和 strncmp()一样,只是不区分大小写。

代码 >>>

<?php
echo strcmp("aBcd","abcd");
echo strcasecmp("aBcd","abcd");
echo strncmp("abcd","aBcd",3);
echo strncasecmp("abcde","aBcde",3);

运行结果截图 >>>
在这里插入图片描述



第三题 【str_replace()的用法 】

str_replace($search,$replace,$subject)为字符串替换函数,其中$search 为要被替换的 字符串,$replace 是用来替换的字符串,$subject)是要被更改的句子。此函数还可以实现多对 一、多对多的替换。

代码 >>>

<?php
$str1 = "I love you";
$replace1 = "monkey";
echo str_replace("you", $replace1, $str1) . "<br>";
$str2 = "what is YOUR name";
$replace2 = array("a", "o", "A", "O");
echo str_replace($replace2, "", $str2) . "<br/>";
$array1 = array("a", "b", "c");
$array2 = array("d", "e", "f");
echo str_replace($array1, $array2, "abcdef");

运行结果截图 >>>
在这里插入图片描述



第四题 【explode()的用法 】

explode($separator,$string)此函数返回一个数组,每个元素都是 $string 的一个子串,它们被$separator 分割。Implode($glue,$pieces)函数用于将数组转化成字符串,其中$glue 为 用于连接字符串的连接符,$pieces 为要连接字符串的数组。

代码 >>>

<?php
$str="使用 空格 分割 数组";
$array = explode("",$str);
print_r($array);
echo "<br/>";
$array = array("hello","how","are","you","!");
$str2=implode(" ",$array);
echo $str2;

运行结果截图 >>>在这里插入图片描述

第五题 【substr()的用法 】

substr($string, $start, $length)为取子字符串函数,其中 $string 为被分解的字符串, 字符串的各字符位置($start)从 0 开始:如果$start 参数为负数,$string 字符串倒数第$start 个字符开始取得$length 长度的子字符串。如果$length 参数为负数,则截取到$string 字符串 倒数第$length 个字符为止。

代码 >>>

<?php
echo substr("abcdef", 1) . "<br/>";
echo substr("abcdef", 1, 3) . "<br/>";
echo substr("abcdef", 0, 8) . "<br/>";
echo substr("abcdef", -1, 1) . "<br/>";
echo substr("abcdef", -3, 1) . "<br/>";
echo substr("abcdef", 0, -1) . "<br/>";
echo substr("abcdef", 2, -1) . "<br/>";
echo substr("abcdef", 4, -4) . "<br/>";
echo substr("abcdef", -3, -1) . "<br/>";

运行结果截图 >>>在这里插入图片描述



>>> 正则表达式部分 <<<

第六题 【 preg_match ()的用法 】

利用 preg_match ()检查出生日期的匹配;要求出生日期的年份为 19XX 或 20XX,月份为(0)1-12,日期为(0)1-31.

代码 >>>

<?php
$date = "1998-10-09";
$len = preg_match('/^((19|20)\d{2})\-(0?d|1[012])\-(0?\d|[12]\d|3[01])$/', $date, $regs);
echo "$regs[0]"."<br/>";
echo "$regs[1]"."<br/>";
echo "$regs[3]"."<br/>";
echo $len."<br/>";

运行结果截图 >>>
在这里插入图片描述



第七题 【 preg_match ()检查普通网址 】

代码 >>>

<?php
$str="http://www.php.net/index.html";
$pattern="/^(http:\/\/)?([^\/]+)/i";
$cnt_1=preg_match ($pattern,$str,$subpatarr_1);
print_r($subpatarr_1);
echo "<br/>";
echo $cnt_1;

运行结果截图 >>>在这里插入图片描述



第八题 【preg_match_all ()的用法】

代码 >>>

<?php
$str="Call 0574-5211314 or 021-58215821 or 94219421";
$pattern="/(0\d{2,3}-)?(\d{7,8})/";
$cnt_1=preg_match_all($pattern,$str,$subpatarr_1);
print_r($subpatarr_1);
echo "<br/>";
echo $cnt_1;
echo "<br/>";

运行结果截图 >>>
在这里插入图片描述



第九题 【preg_replace() 字符串的替换】

代码 >>>

<?php
$str="hello world";
echo preg_replace('/[aeo]/','x',$str);
$res='<a href="11-1.php">hello</a>';
echo preg_replace('/hello/',$res,$str)."<br/>";
$string="新浪,网易,腾讯,雅虎";
$p1[0]="/新浪/";
$p1[1]="/网易/";
$p1[2]="/腾讯/";
$p1[3]="/雅虎/";
$p1[4]="/Tahoo/";
$p1[5]="/Tencent/";
$rep1[1]="163";
$rep1[0]="Sina";
echo preg_replace($p1,$rep1,$string)."<br/>";
ksort($p1);
ksort($rep1);
echo preg_replace($p1,$rep1,$string)."<br/>";

运行结果截图 >>>
在这里插入图片描述



第十题 【preg_split() 字符串的分割】

代码 >>>

<?php
$str="what|is.your,name ?";
$arr=preg_split('/[|.,]/',$str);
print_r($arr);
echo "<br/>";
$str2="PHP hypertext language programming";
$arr2=preg_split("/ /",$str2,3);
print_r($arr2);

运行结果截图 >>>
在这里插入图片描述



下部分:PHP正则表达式的字符串练习(下) 【10大题训练——做完就学会】

猜你喜欢

转载自blog.csdn.net/qq_41136216/article/details/106225156