正则表达式

preg_filter

<?php

var_dump(preg_filter('/\d/', '.$0', 233));      // string(6) ".2.3.3"
var_dump(preg_filter('/[a-z]/', '.$0', 233));   // NULL
var_dump(preg_filter('/[a-z]/', '.${0}', 'foo')); // string(6) ".f.o.o"

preg_grep

<?php

var_dump(preg_grep('/[a-z]+/', ['foo', 'bar', 'baz'])); // array(3) { [0]=> string(3) "foo" [1]=> string(3) "bar" [2]=> string(3) "baz" }
var_dump(preg_grep('/^\d+?\.\d+$/', [.1, 22.21, 3]));   // array(2) { [0]=> float(0.1) [1]=> float(22.21) }

preg_last_error

<?php

var_dump(preg_last_error()); // int(0)

preg_match_all

<?php

var_dump(preg_match_all('/foo/', 'bar', $matches));                   // int(0)
var_dump($matches);                                                   // array(1) { [0]=> array(0) { } }
var_dump(preg_match_all('/(foo)(bar)(baz)/', 'foobarbaz', $matches)); // int(1)
var_dump($matches);                                                   // array(4) { [0]=> array(1) { [0]=> string(9) "foobarbaz" } [1]=> array(1) { [0]=> string(3) "foo" } [2]=> array(1) { [0]=> string(3) "bar" } [3]=> array(1) { [0]=> string(3) "baz" } }
var_dump(preg_match_all('/(\d+)/', 233, $matches));                   // int(1)
var_dump($matches);                                                   // array(2) { [0]=> array(1) { [0]=> string(3) "233" } [1]=> array(1) { [0]=> string(3) "233" } }
var_dump(preg_match_all('/([a-z]+)/', 'foo', $matches));              // int(1)
var_dump($matches);                                                   // array(2) { [0]=> array(1) { [0]=> string(3) "foo" } [1]=> array(1) { [0]=> string(3) "foo" } }
var_dump(preg_match_all('/([a-z]+)/i', 'FOO', $matches));             // int(1)
var_dump($matches);                                                   // array(2) { [0]=> array(1) { [0]=> string(3) "FOO" } [1]=> array(1) { [0]=> string(3) "FOO" } }
var_dump(preg_match_all('/[a-z][a-z][a-z]/', 'foo', $matches));       // int(1)
var_dump($matches);                                                   // array(1) { [0]=> array(1) { [0]=> string(3) "foo" } }

preg_match

<?php

var_dump(preg_match('/foo/', 'bar'));                             // int(0)
var_dump(preg_match('/(foo)(bar)(baz)/', 'foobarbaz', $matches)); // int(1)
var_dump($matches);                                               // array(4) { [0]=> string(9) "foobarbaz" [1]=> string(3) "foo" [2]=> string(3) "bar" [3]=> string(3) "baz" }
var_dump(preg_match('/(\d+)/', 233, $matches));                   // int(1)
var_dump($matches);                                               // array(2) { [0]=> string(3) "233" [1]=> string(3) "233" }
var_dump(preg_match('/([a-z]+)/', 'foo', $matches));              // int(1)
var_dump($matches);                                               // array(2) { [0]=> string(3) "foo" [1]=> string(3) "foo" }
var_dump(preg_match('/([a-z]+)/i', 'FOO', $matches));             // int(1)
var_dump($matches);                                               // array(2) { [0]=> string(3) "FOO" [1]=> string(3) "FOO" }
var_dump(preg_match('/[a-z][a-z][a-z]/', 'foo', $matches));       // int(1)
var_dump($matches);                                               // array(1) { [0]=> string(3) "foo" }

preg_quote

<?php

var_dump(preg_quote('$40 *for* a g3/4.00')); // string(23) "\$40 \*for\* a g3/4\.00"

preg_replace_callback_array

<?php

/**
 * Just a test function.
 *
 * @param  array  $matches
 * @return string
 */
function foo(array $matches): string
{
    return 'foo';
}

var_dump(
    preg_replace_callback_array(
        [
            '/(\d+)/'    => 'foo',
            '/([a-z+])/' => fn(array $matches): string => strtoupper($matches[1])
        ],
        '233foo'
    )
); // string(6) "FOOFOO"

preg_replace_callback

<?php

/**
 * Just a test function.
 *
 * @param  array  $matches
 * @return string
 */
function foo(array $matches): string
{
    return 'foo';
}

/**
 * Just a test function.
 *
 * @param  array  $matches
 * @return string
 */
function bar(array $matches): string
{
    return strtoupper($matches[1]);
}

var_dump(preg_replace_callback('/(\d+)/', 'foo', 233));      // string(3) "foo"
var_dump(preg_replace_callback('/([a-z]+)/', 'bar', 'foo')); // string(3) "FOO"
var_dump(
    preg_replace_callback(
        '/([a-z]+)/',
        function (array $matches): string {
            return strtoupper($matches[1]);
        },
        'foo'
    )
);                                                           // string(3) "FOO"
var_dump(
    preg_replace_callback(
        '/([a-z]+)/',
        fn(array $matches): string => strtoupper($matches[1]),
        'foo'
    )
);                                                           // string(3) "FOO"

preg_replace

<?php

var_dump(preg_replace('/\d/', '.$0', 233));                           // string(6) ".2.3.3"
var_dump(preg_replace('/[a-z]/', '.$0', 233));                        // string(3) "233"
var_dump(preg_replace('/[a-z]/', '.${0}', 'foo'));                    // string(6) ".f.o.o"
var_dump(preg_replace(['/foo/', '/bar/'], ['bar', 'foo'], 'foobar')); // string(6) "foofoo"
var_dump(preg_replace('/\s+/', '', 'foo bar baz'));                   // string(9) "foobarbaz"

preg_split

<?php

var_dump(preg_split('/ /', 'f o o'));     // array(3) { [0]=> string(1) "f" [1]=> string(1) "o" [2]=> string(1) "o" }
var_dump(preg_split('/,/', 'f,o,o'));     // array(3) { [0]=> string(1) "f" [1]=> string(1) "o" [2]=> string(1) "o" }
var_dump(preg_split('/[\s,]/', 'f o,o')); // array(3) { [0]=> string(1) "f" [1]=> string(1) "o" [2]=> string(1) "o" }

results matching ""

    No results matching ""