私はこの正規表現を持っています:
if(preg_match("@^\d{4}$@", basename($entry, ".php"))) {
--do something here--
}
その条件は、4 桁の数字に対してのみ機能します。しかし、4桁と5桁を検証する必要があります。5桁の数字も検証するようにするにはどうすればよいですか? ありがとう!
ブレースは範囲の下限と上限を取ることができるので、うまくいく{4,5}
はずです。
ctype_digit()
正規表現の代わりに、や などのより単純な関数を検討してstrlen()
ください。
$filename = basename($entry, ".php");
$length = strlen($filename);
if (($length >= 4 && $length <= 5) && ctype_digit($filename)) {
// your code
}
if(preg_match("@^\d{4,5}$@", basename($entry, ".php"))) {
--do something here--
}
それ以外の
if(preg_match("@^\d{4}$@", basename($entry, ".php"))) {
使用する
if(preg_match("@^\d{4,5}$@", basename($entry, ".php"))) {