PHP preg_match函数
preg_match(PHP 4, PHP 5)preg_match — 进行正则表达式匹配说明int preg_match ( string $pattern , string $subject [, array $matches [, int $flags ]] )
在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。 如果提供了 matches ,则其会被搜索的结果所填充。$matches 将包含与整个模式匹配的文本,$matches 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。 flags 可以是下列标记: PREG_OFFSET_CAPTURE 如果设定本标记,对每个出现的匹配结果也同时返回其附属的字符串偏移量。注意这改变了返回的数组的值,使其中的每个单元也是一个数组,其中第一项为匹配字符串,第二项为其偏移量。本标记自 PHP 4.3.0 起可用。 flags 参数自 PHP 4.3.0 起可用。
preg_match() 返回 pattern 所匹配的次数。要么是 0 次(没有匹配)或 1 次,因为 preg_match() 在第一次匹配之后将停止搜索。preg_match_all() 则相反,会一直搜索到 subject 的结尾处。如果出错 preg_match() 返回 FALSE。 Tip 如果只想查看一个字符串是否包含在另一个字符串中,不要用 preg_match()。可以用 strpos() 或 strstr() 替代,要快得多。
Example#1 在文本中搜索“php”
<?php
// 模式定界符后面的 "i" 表示不区分大小写字母的搜索
if (preg_match ("/php/i", "PHP is the web scripting language of choice.")) {
print "A match was found.";
} else {
print "A match was not found.";
}
?>
Example#2 搜索单词“web”
<?php
/* 模式中的 /b 表示单词的边界,因此只有独立的 "web" 单词会被匹配,
* 而不会匹配例如 "webbing" 或 "cobweb" 中的一部分 */
if (preg_match ("//bweb/b/i", "PHP is the web scripting language of choice.")) {
print "A match was found.";
} else {
print "A match was not found.";
}
if (preg_match ("//bweb/b/i", "PHP is the website scripting language of choice.")) {
print "A match was found.";
} else {
print "A match was not found.";
}
?>
Example#3 从 URL 中取出域名
<?php
// 从 URL 中取得主机名
preg_match("/^(http:////)?([^//]+)/i",
"http://www.php.net/index.html", $matches);
$host = $matches[2];
// 从主机名中取得后面两段
preg_match("/[^/.//]+/.[^/.//]+$/", $host, $matches);
echo "domain name is: {$matches}/n";
?>
本例将输出:
domain name is: php.net
支持你加分
static/image/common/sigline.gif
http://img2081.poco.cn/mypoco/myphoto/20110822/16/64165363201108221627279573116820626_008.jpg 真的谢谢了!
static/image/common/sigline.gif
定远热血江湖私服 元谋热血传奇私服
克什克腾旗传奇世界sf 西畴诛仙外挂
泸西天龙八部论坛 富蕴劲舞团服务端 三水征途 绥宁永恒之塔一条龙
屏山完美sf 淮阳英雄合击
页:
[1]