我仅使用slug来标识网站上的页面,例如:example.tld / view / this-fancy-slug。这是使用以下功能从标题自动生成的:

public static function Normalize($str)
{
    $charset = "UTF-8";
    $separator = "-";

    $str = strtolower(htmlentities($str, ENT_COMPAT, $charset));
    $str = preg_replace('/&(.)(acute|cedil|circ|lig|grave|ring|tilde|uml);/', "$1", $str);
    $str = preg_replace('/([^a-z0-9]+)/', $separator, html_entity_decode($str, ENT_COMPAT, $charset));
    $str = trim($str, $separator);

    return $str;
}


这会返回完美的子弹...但是我需要独特的子弹。因此,我必须与mysql结合使用,以检查是否存在适合所创建对象的块。没问题。

问题是,如果有一个子弹,我想在最后添加-1。但是如果添加了3个相等的子弹,那么它可能是越野车,所以...我该如何管理从子弹,子弹1,子弹2,子弹3 ...子弹100,子弹n的问题呢?

先感谢您!

最佳答案

不要只是检查是否存在相同的子弹。使用正则表达式计算遵循模式/(<base-regex-for-slug>)(-\d+)?/的所有子段。因为只允许使用字母数字,所以上面的基本正则表达式本身就是子段。

关于php - 独特的子弹,如果适合子弹1,子弹2…子弹n,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3862567/

10-12 06:33