1.preg_match()

preg_match() 函数用于进行正则表达式匹配,成功返回 1 ,否则返回 0 。

preg_match() 匹配成功一次后就会停止匹配。

语法:

preg_match (pattern , subject, matches)

 

参数 描述
pattern 正则表达式
subject 需要匹配检索的对象
matches 可选,存储匹配结果的数组

实例:

此实例匹配大写字母后面带有.和空格的字符串,只能匹配到J. ,因为preg_match() 匹配成功一次后就会停止匹配,后面不会再匹配了。

<?php
$str=\"Daniel J. Gross Catholic High School A. is a faith and family  d community committed to developing Christian leaders through educational excellence in the Marianist tradition.\";
if(preg_match(\"/[A-Z]. /\",$str,$matches)){
    print_r($matches);
}
?>

 

2.preg_match_all()

preg_match_all() 函数用于执行一个全局正则表达式匹配.

preg_match_all() 将实现全部结果的匹配。

<##ads_in_article_manong##>

语法:

preg_match_all (pattern , subject, matches)

 

参数 描述
pattern 正则表达式
subject 进行匹配的字符串
matches 所有匹配结果(数组)

实例:

<?php
   $userinfo = \"Name: <b>John Poul</b> <br>  : <b>PHP Guru</b>\";
   preg_match_all (\"/<b>(.*)<\\/b>/U\", $userinfo, $pat_array);

   print $pat_array[0][0].\" <br> \".$pat_array[0][1].\"\\n\";
?>

输出结果:

John Poul  PHP Guru

 

3.preg_replace() 

preg_replace() 是php正则表达式替换函数。

语法:

preg_replace( pattern, replacement, subject [, limit ])

 

参数 描述
pattern 正则表达式(可以是数组)
replacement 替换掉的字符串(可以是数组)          
subject 进行匹配的字符串
limit 最大替换的次数,默认为全部替换

实例:

<?php
echo preg_replace(\"/(\\d+)-(\\d+)-(\\d+)/\", \"$2/$3/$1\", \"2007-01-25\");
echo preg_replace(\"/([Cc]opyright) 200(3|4|5|6)/\", \"$1 2007\", \"Copyright 2005\");

//数组实例
$search = array ( \"/(\\w{6}\\s\\(w{2})\\s(\\w+)/e\",\"/(\\d{4})-(\\d{2})-(\\d{2})\\s(\\d{2}:\\d{2}:\\d{2})/\");
$replace = array (\'\"$1 \".strtoupper(\"$2\")\',\"$3/$2/$1 $4\");
$string = \"Posted by John | 2007-02-15 02:43:41\";      
echo preg_replace($search, $replace, $string);
?>
收藏 打印