1.preg_match()

函数原型:int preg_match (string $pattern, string $content [, array $matches])
preg_match ()函数在$content字符串中搜索与$pattern给出的正则表达式相匹配的内容。如果提供了$matches,则将匹配结果放入其 中。$matches[0]将包含与整个模式匹配的文本,$matches[1]将包含第一个捕获的与括号中的模式单元所匹配的内容,以此类推。该函数只 作一次匹配,最终返回0或1的匹配结果数。代码6.1给出preg_match()函数的一段代码示例。
代码6.1 日期时间的匹配
代码如下:

<"Current date and time is ".date("Y-m-d h:i a").", we are learning PHP together."; 
//使用通常的方法匹配时间 
if (preg_match ("//d{4}-/d{2}-/d{2} /d{2}:/d{2} [ap]m/", $content, $m)) 
{ 
echo "匹配的时间是:" .$m[0]. "/n"; 
} 
//由于时间的模式明显,也可以简单的匹配 
if (preg_match ("/([/d-]{10}) ([/d:]{5} [ap]m)/", $content, $m)) 
{ 
echo "当前日期是:" .$m[1]. "/n"; 
echo "当前时间是:" .$m[2]. "/n"; 
} 
"htmlcode">
<"/home/$username/$filename"; 
"htmlcode">
<"(////|#).*$", "", $lines[$i]); 
//将行末的空白消除 
$lines[$i] = eregi_replace("[ /n/r/t/v/f]*$", "/r/n", $lines[$i]); 
} 
//整理后输出到页面 
echo htmlspecialchars(join("",$lines)); 
"htmlcode">
<"Name: {Name}<br>/nEmail: {Email}<br>/nAddress: {Address}<br>/n"; 
//模式 
$patterns =array( 
"/{Address}/", 
"/{Name}/", 
"/{Email}/" 
); 
//替换字串 
$replacements = array ( 
"No.5, Wilson St., New York, U.S.A", 
"Thomas Ching", 
"tom@emailaddress.com", 
); 
//输出模式替换结果 
print preg_replace($patterns, $replacements, $string); 
"htmlcode">
Name: Thomas Ching", 
Email: tom@emailaddress.com 
Address: No.5, Wilson St., New York, U.S.A 

在preg_replace的正则表达式中可以使用模式修正符“e”。其作用是将匹配结果用作表达式,并且可以进行重新运算。例如:
代码如下:

<"/(<//", 
"'//1'.strtolower('//2').'//3'", //此处的模式变量//2将被strtolower转换为小写字符 
$html_body); 
?>

提示
preg_replace函数使用了Perl兼容正则表达式语法,通常是比ereg_replace更快的替代方案。如果仅对字符串做简单的替换,可以使用str_replace函数。

标签:
PHP,正则表达式,函数

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“PHP 正则表达式常用函数”
暂无“PHP 正则表达式常用函数”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。