Laravel.io
<?php

namespace core\traits\Router;

trait RouteHelper
{
    /**
     * @param bool $uri
     *
     * @return string
     */
    public function returnCurrentUrl($uri = false): string
    {
        if (false == $uri) {
            $uri = $_SERVER['REQUEST_URI'];
        }

        if (1 != strlen($uri) && '/' == substr($uri, 0, 1)) {
            mb_internal_encoding("UTF-8");

            $uri = $this->replacePreg($uri);

            return mb_substr($uri, 1);
        }

        return $uri;
    }

    /**
     * @param string      $uri
     * @param string|null $currentUrl
     *
     * @return string
     */
    public function removeSlashes(string $uri, $currentUrl): string
    {
        // Если у текущей ссылки в конце есть слеш
        if (1 != strlen($uri) && '/' == substr($currentUrl, -1)) {
            // Если у заданного роутера нету слеша - добавляем
            if ('/' != substr($uri, -1)) {
                $uri = $uri.'/';
            }
        } elseif (1 != strlen($uri)) { // если у текущей ссылки в конце нету слеша
            // Если у заданного роутера есть слеш - обрезаем
            if ('/' == substr($uri, -1)) {
                mb_internal_encoding("UTF-8");
                $uri = mb_substr($uri, 0, -1);
            }
        }

        return $uri;
    }

    /**
     * @param $uri
     *
     * @return mixed
     */
    private function replacePreg($uri)
    {
        $a = [];
        $a[0] = '/{/';
        $a[1] = '/}/';

        $b = [];
        $b[0] = '(';
        $b[1] = ')';

        return preg_replace(
            $a, $b, $uri
        );
    }
}

Please note that all pasted data is publicly available.