首页 > 编程笔记 > PHP笔记 阅读:12

PHP preg_match()函数的用法(附带实例)

编写完正则表达式,可以使用模式匹配函数来处理指定字符串,字符串的匹配是正则表达式的主要应用之一。

在正则表达式中,使用 preg_match() 函数进行字符串查找,其语法格式如下:
(int preg_match(string pattern,string subject[,array matches[,int flags]]);
preg_match() 函数的功能是,在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容,如果搜索到该内容则返回与 pattern 匹配的次数。由于该函数在第一次匹配成功之后便停止搜索,因此返回的值是 0 或 1。

如果带有可选的参数 matches,则可以把匹配的部分存在一个数组中。可选参数 flags 表示数组 matches 的长度,如果为 0,则数组将包含与整个模式匹配的文本;如果为 1,则数组将包含与第一个捕获的括号中子模式匹配的文本。

【实例】获取主机名和域名。
<?php
//  从URL中取得主机名
$str="http://www.xxx.yyy.zzz/index.html";
preg_match("/^(http:\/\/)?([^\/]+)/i", $str, $matches);
$host = $matches[2];
echo "主机名是".$host."<br>";
//  从主机名中取得后面两段“yyy.zzz”

preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
echo "域名是{$matches[0]}\n";
?>
运行结果如下图所示:


图 1 获取主机名和域名

相关文章