Code Duplication    Length = 3-5 lines in 2 locations

eZ/Publish/Core/Persistence/Doctrine/ConnectionHandler.php 2 locations

@@ 187-189 (lines=3) @@
184
            $dsn = $match[3];
185
        } else {
186
            // $dsn => protocol+host/database (old format)
187
            if (strpos($dsn, '+') !== false) {
188
                list($proto, $dsn) = explode('+', $dsn, 2);
189
            }
190
            if (strpos($dsn, '/') !== false) {
191
                list($proto_opts, $dsn) = explode('/', $dsn, 2);
192
            } else {
@@ 221-225 (lines=5) @@
218
                // /database?param1=value1&param2=value2
219
                $parsed['dbname'] = rawurldecode(substr($dsn, 0, $pos));
220
                $dsn = substr($dsn, $pos + 1);
221
                if (strpos($dsn, '&') !== false) {
222
                    $opts = explode('&', $dsn);
223
                } else {
224
                    $opts = [$dsn];
225
                }
226
227
                foreach ($opts as $opt) {
228
                    list($key, $value) = explode('=', $opt);