src/Viserio/Component/Parser/Parser/PoParser.php
private static function addReferences(string $data, array $entry): array
    {
        foreach (\preg_split('/#:\s+/', \trim($data)) as $value) {
            if (\count(\preg_split('/\s+/', $value)) >= 2) {
                if (\preg_match_all('/([.\/a-zA-Z]+)(:(\d*))/', ' ' . $value, $matches, \PREG_SET_ORDER, 1)) {
                    $key    = '';
                    $values = [];

                    foreach ($matches as $match) {
                        $filename = $match[1];
                        $line     = $match[3] ?? null;

                        $key .= \sprintf('{%s}:{%s} ', $filename, $line);
                        $values[] = [$filename, $line];
                    }

                    $entry['references'][\trim($key)] = $values;
                }
            } else {
                if (\preg_match('/^(.+)(:(\d*))?$/U', $value, $matches)) {
                    $filename = $matches[1];
                    $line     = $matches[3] ?? null;
                    $key      = \sprintf('{%s}:{%s}', $filename, $line);

                    $entry['references'][$key] = [$filename, $line];
                }
            }
        }

        return $entry;
    }
private static function addReferences(string $data, array $entry): array
    {
        foreach (\preg_split('/#:\s+/', \trim($data)) as $value) {
            if (\count(\preg_split('/\s+/', $value)) >= 2) {
                if (\preg_match_all('/([.\/a-zA-Z]+)(:(\d*))/', ' ' . $value, $matches, \PREG_SET_ORDER, 1)) {
                    $key    = '';
                    $values = [];

                    foreach ($matches as $match) {
                        $filename = $match[1];
                        $line     = $match[3] ?? null;

                        $key .= \sprintf('{%s}:{%s} ', $filename, $line);
                        $values[] = [$filename, $line];
                    }

                    $entry['references'][\trim($key)] = $values;
                }
            } else {
                if (\preg_match('/^(.+)(:(\d*))?$/U', $value, $matches)) {
                    $filename = $matches[1];
                    $line     = $matches[3] ?? null;
                    $key      = \sprintf('{%s}:{%s}', $filename, $line);

                    $entry['references'][$key] = [$filename, $line];
                }
            }
        }

        return $entry;
    }
Export reference infos.

@param string $data
@param array  $entry

@return array