    public static function slugify($text)
    {
        // strip tags
        $text = strip_tags($text);

      // replace non letter or digits by -
        $text = preg_replace('~[^\\pL\d]+~u', '-', $text);

      // trim
        $text = trim($text, '-');

      // transliterate
        setlocale(LC_CTYPE, Options::v('country').'.utf8');
        $text = iconv('utf-8', 'ASCII//TRANSLIT', $text);
      // lowercase
        $text = strtolower($text);

      // remove unwanted characters
        $text = preg_replace('~[^-\w]+~', '', $text);

        if (empty($text)) {
            return 'n-a';
        }

        return $text;
    }
The software constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.