murilomagalhaes / masquerade
此包已被废弃,不再维护。没有推荐替代包。
Masquerade是一个库,包含一些方法,帮助您进行文本操作。
1.3.3
2023-02-27 17:35 UTC
Requires
- php: ^7.4|8.*
Requires (Dev)
- phpstan/phpstan: ^1.8
README
🦝 Masquerade
PHP文本操作库点击这里访问此文件的葡萄牙语版本! 🇵🇹 🇧🇷
Masquerade是一个库,包含一些方法,帮助您进行文本操作,因此您(希望如此)不需要再次谷歌正则表达式。它旨在操作短字符串,如表单输入等,甚至提供掩码/格式化方法。
要求
PHP: ^7.4|8.*
Composer
安装
composer require murilomagalhaes/masquerade
使用
- 安装包后,在您的源文件中调用它。
use Masquerade\Masquerade
- 使用
set()
方法开始链接过滤器、掩码和其他可用方法
Masquerade::set("Phone: (Brazil) +55 61999995555'") ->only('numbers') ->mask('## (##) #####-####') ->getText(); // Returns: "55 (61) 99999-5555"
示例
- 过滤
Masquerade::set("I got 99 problems but regex ain't one!") ->only('letters', 'whitespaces') ->getText(); // Returns: "I got problems but regex aint one!" Masquerade::set("Phone: +55 00 99999-5555") ->only('numbers') ->getText(); // Returns "5500999995555" Masquerade::set("Assistant (to the) regional manager") ->between('(', ')') ->getText(); // Returns "to the" Masquerade::set("Hello, Universe") ->strip('Hello,') ->getText(); // Returns: "Universe" Masquerade::set("I got 998 problems, but regex ain't one!") ->ignore('8') ->only('letters', 'whitespaces') // Note that the "numbers" type is missing, so all numbers should be filtered out. ->getText(), // Returns: "I got 8 problems but regex aint one!". The '8' was kept by the ignore() method Masquerade::set("Hablo Español y Português") ->removeAccents() ->getText(); // Returns: "Hablo Espanol y Portugues"
- 掩码 | 格式化
Masquerade::set("Phone: (Brazil) +55 00999995555'") ->only('numbers') ->mask('## (##) #####-####') ->getText(); // Returns: "55 (00) 99999-5555" Masquerade::set("00011122234") ->only('numbers') ->mask('###.###.###-##') ->getText(); // Returns: "000.111.222-34"
- 自定义方法(宏)
use Masquerade\StringHandler; Masquerade::macro('maskAsPhone', function(StringHandler $handler){ return $handler->only('numbers')->mask('(##) #####-####'); }); Masquerade::set('Number: 00999995555') ->maskAsPhone() ->getText(); // Returns: "(00) 99999-5555"
- 获取器
$text = Masquerade::set('YMCA'); $text->mask('#-#-#-#'); $text->getText(); // Returns: "Y-M-C-A" $text->getUnmaskedText(); // Returns: "YMCA"
可用方法
方法签名 | 描述 |
---|---|
set(string $text): Masquerade |
创建一个新的Masquerade实例,并定义要由链式方法使用的文本字符串。 |
only(...$filter_types): Masquerade |
仅保留在$filter_types 参数上定义的字符类型。可用类型:'letters' 、'numbers' 、'punctuation' 和'whitespaces' 以下字符被视为标点符号: , . : ; ? ¿ ! ¡ - |
ignore(... $character) |
定义的字符不会被only() 方法删除。必须在该方法之前调用以生效 |
strip(...$characters): Masquerade |
从文本字符串中删除定义的字符 |
between(string $before, string $after): Masquerade |
仅保留在$before 和$after 参数之间的字符; |
removeAccents(): Masquerade |
删除所有字符的变音符号。 (acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml|) |
mask(string $pattern): Masquerade |
将定义的模式应用于文本字符串 |
format(string $pattern): Masquerade |
mask方法的别名 |
trim(): Masquerade |
从文本字符串中删除尾随和多个空格/制表符 (方法始终应用于类__toString()和getText()方法) |
static::macro(string $name, callable $callback): void |
定义宏/自定义方法 |
getText(): string |
返回文本字符串 |
getOriginalText(): string |
返回文本字符串的原始状态 |
getUnmaskedText(): string |
返回掩码前的文本字符串 |