public function slugify(
        $string,
        $removeWesternEuropeanAccents = true,
        $separator = '-'
    ) {
        $slug = trim($string);
        if ($removeWesternEuropeanAccents) {
            // That may seem weird but this seems to be the better way to do it
            $slug = htmlentities($slug, ENT_NOQUOTES, 'UTF-8');
            $slug = preg_replace(
                '/&#?([a-zA-Z])[a-zA-Z0-9]*;/i',
                '${1}',
                $slug
            );
        }
        // Convert string
        $slug = iconv('UTF-8', 'ASCII//TRANSLIT', $slug);
        // Remove illegal characters
        $slug = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $slug);
        $slug = mb_strtolower(trim($slug, $separator), 'UTF-8');
        // Replace illegal characters
        $slug = preg_replace("/[\/_|+ -]+/", $separator, $slug);

        return $slug;
    }