繁体   English   中英

PHP Regex用于字体大小限制

[英]PHP Regex for font-size limit

我在Regex上遇到了麻烦,从未真正使用过它。 但是,基本上,我试图在我的字体大小bbcode标签上设置一个限制。

class SizeValidator implements \JBBCode\InputValidator
{

public function validate($input)
{
    return (bool) preg_match('regex', $input);
}

}

如果有人可以帮助您使用正则表达式,那将是完美的! 基本上只是想要7到30的最大值,没有px,em,没有任何严格的数字,最多2个数字,如果有正则表达式经验的人会非常有帮助,可能会解释它是如何工作的,所以我可以改进并更好地理解:)

确实没有理由在这里使用正则表达式。

只需验证您得到的是一个数字序列(例如,使用ctype_digit ,并且该值在7到30之间)。

class SizeValidator implements \JBBCode\InputValidator {
    public function validate($input) {
        return ctype_digit($input) && $input >= 7 && $input <= 30;
    }
}

如果需要,它更具可读性,更容易修改。

您可以尝试这样的事情:

return (bool)preg_match('/\[size=(([7-9])|([1-2]\d)|(30))\](.*)?\[\/size\]/', $input);

首先,如果数字是7-9,我将进行匹配,如果是,则您的函数返回true。

([7-9])

否则,如果您的数字是以1或2开头的两位数字,则该函数还会返回true

([1-2]\d)

否则,我检查数字是否为30,然后返回true。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM