<?php /* * This file is part of Respect/Validation. * * (c) Alexandre Gomes Gaigalas <alexandre@gaigalas.net> * * For the full copyright and license information, please view the LICENSE file * that was distributed with this source code. */ declare(strict_types=1); namespace Respect\Validation\Rules; use function is_string; use function preg_match; /** * Validates if a value is considered a valid PHP Label, so that it can be used as a variable, function or class name. * * @author Danilo Correa <danilosilva87@gmail.com> * @author Emmerson Siqueira <emmersonsiqueira@gmail.com> * @author Henrique Moody <henriquemoody@gmail.com> */ final class PhpLabel extends AbstractRule { /** * {@inheritDoc} */ public function validate($input): bool { return is_string($input) && preg_match('/^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$/', $input); } }