Demo4.php
<?php
//修饰符
//修饰符放在 // 的外面
//i 表示不区分大小写
// $mode = '/php/i'; //规则模式
// $string = 'PHP'; //字符串
//m 表示匹配首尾的时候,如果遇到换行,也应该承认是结尾
// $mode = '/php$/m'; //规则模式
// $string = "this is a phpn ,is goods"; //字符串
//x 表示忽略掉规则模式中的空白字符
// $mode = '/php/x'; //规则模式
// $string = 'ph p'; //字符串
//A 表示必须从头开始匹配
$mode = '/php/A'; //规则模式
$string = 'phpfsdfd'; //字符串
if( preg_match($mode,$string)){
echo '匹配';
}else{
echo '不匹配';
}
?>
Demo5.php
<?php
//搜索数组中的相匹配的字符串
//preg_grep() 函数
$language = array('php','asp','jsp','python','ruby');
//找出最流行的 3p 语言
//这三门语言的匹配共同点是什么,最后结尾都是 p
//结尾匹配 p /p$/
//$mode = '/p$/';
//打印出开头为 p 的语言
$mode = '/^p/';
//python 蟒蛇语言,在国外有取代 PHP 的传闻
print_r(preg_grep($mode,$language));
?>
Demo6.php
<?php
//搜索模式,最后返回的是真或者是假,1,10
echo preg_match('/php[1-6]/','php5');
?>
Demo7.php
<?php
//电子邮件的小案例
//通过拆分的方法分组
$mode = '/^([w.]{2,255})@([w-]{1,255}).([a-z]{2,4})$/';//模式不能缺少
$string = 'oneStopWeb@163.com';
if(preg_match($mode,$string)){
echo '电子邮件合法';
}else{
echo '电子邮件不合法';
}
?>
Demo8.php
<?php
//匹配全局正则
//将字符串的所有匹配得到的结果放到一个数组变量里
preg_match_all('/php[1-5]/','php5fsdfsdphp6fsdfsdfphp4',$out);
print_r($out);//Array ( [0] => Array ( [0] => php5 [1] => php4 ) )
echo $out[0][0];//php5
?>
Demo9.php
<?php
//定界定则
echo preg_quote('PHP is $150'); //PHP is $150
?>
Demo10.php
<?php
//搜索匹配的结果,然后替换掉
//第一个参数,存的是正则模式
//第二参数,放的是替换掉的字符串
//第二个参数,字符
//将第三个参数的字符串的 php5,php6 替换成了 oneStopWeb
echo preg_replace('/php[1-6]/','oneStopWeb','This is a php5,This is a php6');
//This is a oneStopWeb,This is a oneStopWeb
?>
Demo11.php
<?php //贪婪和分组获取的案例,ubb //我要将这个 [b][/b] 换成 <strong></strong> //注意一个问题,这个时候的 [] 中括号,是字符串的括号,而不是语法[a-z] //. 表示匹配任意字符一个,加上一个 * 号表示匹配零个或者多个 //用括号分为三组,那么第一组就是1,第二组就是2,第三组就是3 //目前只有1 组,1 //第一问题,第一个[b]和最后一个[/b]匹配了 //解决贪婪匹配。 $mode = '/([b])(.*)([/b])/U';//U 禁止贪婪 $replace = '<strong>2</strong>'; $string = 'This is a [b]php5[/b],This is a [b]php6 [/b]'; //echo $string; echo preg_replace($mode,$replace,$string); ?>







