3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $result = preg_replace( '#\/_([a-z]+\/)#{0,}', '/$1$1', '/_ticket/_show/xxx' ); var_dump( $result ); exit; $found = null; $route = '/_ticket/'; foreach ( explode( '/', trim( $route, '/' ) ) as $part => $r ) { $uscore = strpos( $r, '_' ); $times = substr_count( $r, '_' ); if ( 1 != $times || 0 != $uscore ) { continue; } $found = $part; break; } if ( null !== $found ) { $parts = explode( '/', trim( $route, '/' ) ); $before = array_slice( $parts, 0, $found, true ); $after = array_slice( $parts, $found + 1, null, true ); $replacePart = ltrim( $parts[ $found ], '_' ); $before[] = $replacePart; $before[] = $replacePart; foreach ( $after as $part ) { $before[] = $part; } }
Output for 4.3.11 - 7.1.0
Warning: preg_replace(): Unknown modifier '{' in /in/FFZSN on line 2 NULL
Output for 4.3.0 - 4.3.10
Warning: Unknown modifier '{' in /in/FFZSN on line 2 NULL