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]是一个一维数组,里面包含各个模式的子模式中的字符串

原文地址:https://www.cnblogs.com/lin3615/p/3912094.html