public function slug($data, $separator = '-')
	{
		$data = static::ascii($data);

		// Convert all dashes/underscores into separator
		$flip = $separator == '-' ? '_' : '-';

		$data = preg_replace('!['.preg_quote($flip).']+!u', $separator, $data);

		// Remove all characters that are not the separator, letters, numbers, or whitespace.
		$data = preg_replace('![^'.preg_quote($separator).'\pL\pN\s]+!u', '', mb_strtolower($data));

		// Replace all separator characters and whitespace by a single separator
		$data = preg_replace('!['.preg_quote($separator).'\s]+!u', $separator, $data);

		return trim($data, $separator);
	}