preg_match_all, preg_match

int preg_match(string $pattern, string $subject[, $arr][, int $flags]);
$pattern 正则表达式
$subject: 要搜索的字符串
$arr: 成功返回存放的数组
返回值:匹配不成功为 0,否则为 1
$arr[0]: 为包含与整个模式的字符串,$arr[1]将包含第一个捕获的括号中的子模式,以后类推
as:
$pattern = '/a(.*)z/U';
$str = "bbasdzfasdzfdd";
$ok = preg_match($pattern, $str, $arr);
var_dump($ok); // 1
echo "<br />";
print_r($arr);
Array
(
    [0] => asdz
    [1] => sd
)

int preg_match_all(string $pattern, string $subject, array $arr[, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]]);
$pattern:搜索模式
$subject: 要搜索的字符串
$arr: 多维数组,用于存放匹配的字符
返回值为 匹配的次数
as:
$pattern = '/a(.*)z/U';
$str = "bbasdzfabcdzfdd";
$ok = preg_match_all($pattern, $str, $arr);
var_dump($ok);//2
echo "<br />";
print_r($arr);
Array
(
    [0] => Array
        (
            [0] => asdz
            [1] => abcdz
        )

    [1] => Array
        (
            [0] => sd
            [1] => bcd
        )

)
$arr[0]是一个一维数组,里面包含各个模式的完整匹配字符串
$arr[1]是一个一维数组,里面包含各个模式的子模式中的字符串

posted @ 2014-08-14 11:11  好记性还真不如烂笔头  阅读(433)  评论(0编辑  收藏  举报