move 'is' method to the str class where it belongs.

This commit is contained in:
Taylor Otwell
2012-04-12 22:54:50 -05:00
parent 0c8c6714f4
commit 34cb9a00f4
4 changed files with 47 additions and 18 deletions

View File

@@ -300,6 +300,30 @@ class Str {
return substr(str_shuffle(str_repeat(static::pool($type), 5)), 0, $length);
}
/**
* Determine if a given string matches a given pattern.
*
* @param string $pattern
* @param string $value
* @return bool
*/
public static function is($pattern, $value)
{
// Asterisks are translated into zero-or-more regular expression wildcards
// to make it convenient to check if the URI starts with a given pattern
// such as "library/*". This is only done when not root.
if ($pattern !== '/')
{
$pattern = str_replace('*', '(.*)', $pattern).'\z';
}
else
{
$pattern = '^/$';
}
return preg_match('#'.$pattern.'#', $value);
}
/**
* Get the character pool for a given type of random string.
*