3v4l.org

run code in 300+ PHP versions simultaneously
<?php // @see https://git.drupalcode.org/project/canvas/-/blob/c5fd26f0999496f5f1b1d88e06e522a44d3fc85b/src/PathProcessor/CanvasPathProcessor.php function processInbound($path) { // Only rewrite if not /canvas/api and starts with /canvas/ if (str_starts_with($path, '/canvas/') && !str_starts_with($path, '/canvas/api')) { return '/canvas'; } return $path; } $cases = [ '/canvas', '/canvas/foo', '/canvas/api/something', '/canvas/node/42', ]; foreach ($cases as $c) { print sprintf("%s -> %s\n", $c, processInbound($c)); }
Output for 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
/canvas -> /canvas /canvas/foo -> /canvas /canvas/api/something -> /canvas/api/something /canvas/node/42 -> /canvas

preferences:
48.46 ms | 714 KiB | 4 Q