preg_match_all

Supported Versions: PHP 4, PHP 5, PHP 7, PHP 8
Perform a global regular expression match
<?php preg_match_all(    string $pattern,    string $subject,    array &$matches = null,    int $flags = 0,    int $offset = 0): int|false
<?php     {

        $name = static::name($expression);



        if (preg_match_all('/\{\s*(.*?)\s*\}/', $expression, $matches) && count($matches[1])) {

            return array_merge([$name], static::parameters($matches[1]));

        }
<?php     protected function parseSearchPath($searchPath)

    {

        if (is_string($searchPath)) {

            preg_match_all('/[^\s,"\']+/', $searchPath, $matches);



            $searchPath = $matches[0];

        }
<?php     protected static function getMutatorMethods($class)

    {

        preg_match_all('/(?<=^|;)get([^;]+?)Attribute(;|$)/', implode(';', get_class_methods($class)), $matches);



        return $matches[1];

    }
<?php         if (preg_match('/(\[[^\]]+\])+$/', $attribute, $parts)) {

            $key = Str::beforeLast($attribute, $parts[0]);



            preg_match_all('/\[([^\]]+)\]/', $parts[0], $keys);



            return collect([$key])

                ->merge($keys[1])
<?php     protected function replaceEmbeddedAttachments(string $renderedView, array $attachments)

    {

        if (preg_match_all('/<img.+?src=[\'"]cid:([^\'"]+)[\'"].*?>/i', $renderedView, $matches)) {

            foreach (array_unique($matches[1]) as $image) {

                foreach ($attachments as $attachment) {

                    if ($attachment->getFilename() === $image) {
<?php     protected function setResourceBindingFields($route, $bindingFields)

    {

        preg_match_all('/(?<={).*?(?=})/', $route->uri, $matches);



        $fields = array_fill_keys($matches[0], null);
<?php     protected function compileParameterNames()

    {

        preg_match_all('/\{(.*?)\}/', $this->getDomain().$this->uri, $matches);



        return array_map(fn ($m) => trim($m, '?'), $matches[1]);

    }
<?php     protected function getOptionalParameterNames()

    {

        preg_match_all('/\{(\w+?)\?\}/', $this->uri(), $matches);



        return isset($matches[1]) ? array_fill_keys($matches[1], null) : [];

    }
<?php     public static function parse($uri)

    {

        preg_match_all('/\{([\w\:]+?)\??\}/', $uri, $matches);



        $bindingFields = [];
<?php             $route

        ), $parameters);



        if (preg_match_all('/{(.*?)}/', $uri, $matchedMissingParameters)) {

            throw UrlGenerationException::forMissingParameters($route, $matchedMissingParameters[1]);

        }
<?php     public static function matchAll($pattern, $subject)

    {

        preg_match_all($pattern, $subject, $matches);



        if (empty($matches[0])) {

            return collect();
<?php     protected function compileStatements($template)

    {

        preg_match_all('/\B@(@?\w+(?:::\w+)?)([ \t]*)(\( ( [\S\s]*? ) \))?/x', $template, $matches);



        $offset = 0;
<?php             )?




        if (! preg_match_all($pattern, $attributeString, $matches, PREG_SET_ORDER)) {

            return [];

        }