mirror of
https://github.com/Respect/Validation.git
synced 2026-03-15 14:55:44 +01:00
I ran the `bin/console spdx --fix` with different strategies for different files. For most of the core classes, since they've been drastically rebuilt, I've run it with the `git-blame` strategy, for for the `src/Validators`, in which the API changed completely but the logic remains the same, I use the `git-log` strategy.
2.5 KiB
2.5 KiB
Emoji
Emoji()
Validates if the input is an emoji or a sequence of emojis.
v::emoji()->assert('🍕');
// Validation passes successfully
v::emoji()->assert('🎈');
// Validation passes successfully
v::emoji()->assert('⚡');
// Validation passes successfully
v::emoji()->assert('🌊🌊🌊🌊🌊🏄🌊🌊🌊🏖🌴');
// Validation passes successfully
v::emoji()->assert('🇧🇷'); // (Country flags)
// Validation passes successfully
v::emoji()->assert('👨👩👧👦'); // (ZWJ sequence)
// Validation passes successfully
v::emoji()->assert('👩🏽'); // (Skin tone modifier)
// Validation passes successfully
v::emoji()->assert('1️⃣'); // (Keycap sequence)
// Validation passes successfully
v::emoji()->assert('Hello World');
// → "Hello World" must be an emoji
v::emoji()->assert('this is a spark ⚡'); // (Mixed content)
// → "this is a spark ⚡" must be an emoji
This validator supports:
- Basic emojis and pictographs
- Skin tone modifiers (Fitzpatrick scale)
- Country flags (regional indicator sequences)
- Subdivision flags (tag sequences like 🏴)
- Keycap sequences (0️⃣-9️⃣, #️⃣, *️⃣)
- ZWJ (Zero Width Joiner) sequences for families, professions, and combined emojis
- Emojis up to Unicode 17.0 / Emoji 16.0
Templates
Emoji::TEMPLATE_STANDARD
| Mode | Template |
|---|---|
default |
{{subject}} must be an emoji |
inverted |
{{subject}} must not be an emoji |
Template placeholders
| Placeholder | Description |
|---|---|
subject |
The validated input or the custom validator name (if specified). |
Categorization
- Strings
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Renamed to Emoji, changed the behavior, and added support for more emojis |
| 2.0.0 | Created as NotEmoji |