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 öä }
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; }
public function validate($value) { return parent::validate(String::length((string) $value) == $this->length); }
public function validate($value) { return String::length((string) $value) >= $this->limit; }