示例#1
0
 public function testLength()
 {
     $this->assertEquals(String::length('Waschbär'), 8);
     $this->assertEquals(String::length('Wa    är'), 8);
     $this->assertEquals(String::length('Wa    är '), 9);
     $this->assertEquals(String::length(' Wa    är '), 10);
     $this->assertEquals(String::length('”'), 1);
     $this->assertEquals(String::length('…'), 1);
     $this->assertEquals(String::length(chr(0xe4) . chr(0xf6)), 2);
     // iso öä
 }
示例#2
0
 public function apply($value)
 {
     $result = basename((string) $value);
     $result = preg_replace('@[/?*:;{}\\\\]@', '', $result);
     if ($this->paranoid) {
         $result = preg_replace('@[^A-Z0-9_.-]@i', '', $result);
     }
     if (String::length($result) > $this->maxLength) {
         if (($dotPos = strpos($result, '.')) !== false) {
             $extension = substr($result, $dotPos + 1);
             $basename = substr($result, 0, $dotPos);
             $result = String::substr($basename, 0, $this->maxLength - String::length($extension) - 1) . '.' . $extension;
         } else {
             $result = String::substr($result, 0, $this->maxLength);
         }
     }
     return $result;
 }
示例#3
0
 public function validate($value)
 {
     return parent::validate(String::length((string) $value) == $this->length);
 }
示例#4
0
 public function validate($value)
 {
     return String::length((string) $value) >= $this->limit;
 }