簡體   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