preg_match() 函数 正则表达式匹配

编辑:mark - 阅读:1070112

matches 可选,存储匹配结果的数组, $matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推

preg_match('#">([\d]+)</a>#i', $content,$matches);
 [\d]+这部分匹配一个或多个数字

例子 1:

1
2
3
4
5
6
7
8
9
<?php
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.";
}

输出:

1
A match was found:PHP

在该例子中,由于使用了 i 修正符,因此会不区分大小写去文本中匹配 php 。
 

<?php
$content = '该网站共有                <b style="color:#333">186,326</b>
                个网页被百度收录';
//$content = iconv("GBK","UTF-8//IGNORE",$content);
preg_match('#该网站共有(.*?)([\d,]+)</b>#i', $content,$matches);
print_r($matches);
?>

$matches[1] $matches[2]

输出:
Array
(
    [0] => 该网站共有                <b style="color:#333">186,326</b>
    [1] =>                 <b style="color:#333">
    [2] => 186,326
)
 

关于PHP正则的Unknown Modifier错误:在正则模式中,用/做定界符,但正则中也含有/,因此会出现此错误,PHP误当后面的一个</span>中的斜杠是结束的定界符。

相关专题:七野科技 互联网创业
你会喜欢下面的文章? You'll like the following article.