本篇文章是对php中的preg_match函数与preg_match_all函数进行了详细的分析介绍,需要的朋友参考下
正则表达式在 PHP 中的应用
参数 说明
pattern 正则表达式
subject 需要匹配检索的对象
matches 可选,存储匹配结果的数组, $matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推
例子 1 :复制代码 代码如下:
if(preg_match("/php/i", "PHP is the web scripting language of choice.", $matches)){
print "A match was found:". $matches[0];
} else {
print "A match was not found.";
}
?>
复制代码 代码如下:
A match was found: PHP
复制代码 代码如下:
// 从 URL 中取得主机名
preg_match("/^()?([^/]+)/i","http://www.jb51.net/index.html", $matches);
$host = $matches[2];
// 从主机名中取得后面两段
preg_match("/[^./]+.[^./]+$/", $host, $matches);
echo "域名为:{$matches[0]}";
?>
复制代码 代码如下:
域名为:jb51.net
参数 说明
pattern 正则表达式
subject 需要匹配检索的对象
matches 存储匹配结果的数组
flags
可选,指定匹配结果放入 matches 中的顺序,可供选择的标记有:
下面的例子演示了将文本中所有 标签内的关键字(php)显示为红色。复制代码 代码如下:
$str = "
学习php是一件快乐的事。
所有的phper需要共同努力!";
([sS]*?)/',$str,$mat);
复制代码 代码如下:
$str = "学习php是一件快乐的事。";
preg_match_all("/[x80-xff]+/", $str, $match);
//UTF-8 使用:
//preg_match_all("/[x{4e00}-x{9fa5}]+/u", $str, $match);
print_r($match);
?>
复制代码 代码如下:
Array
(
[0] => Array
(
[0] => 学习
[1] => 是一件快乐的事。
)
)