回答編集履歴

1

修正

2020/10/02 10:53

投稿

yambejp
yambejp

スコア116724

test CHANGED
@@ -1,15 +1,11 @@
1
- preg処理のエスケープはpreg_quoteにまかせてください。
2
-
3
- 引数に使用したいデリミタを指定してやるのもわすれずに
4
-
5
-
6
-
7
1
  ```PHP
8
2
 
9
- $str="'\"[]+-*/";
3
+ $pattern="/\A(?:([!-\/:-@[-`{-~])|(\d)|([a-z])|([A-Z])){10,30}\z/";
10
4
 
11
- $pattern='/\A['.preg_quote($str,"/").']{10,30}\z/';
5
+ if(!preg_match($pattern,$str,$match) or !array_reduce($match,function($x,$y){return $x*=strlen($y);},1)){
12
6
 
13
- print $pattern;
7
+ print "err";
8
+
9
+ }
14
10
 
15
11
  ```