123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Component\Form\Util;
- /**
- * @author Issei Murasawa <issei.m7@gmail.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
- class StringUtil
- {
- /**
- * This class should not be instantiated.
- */
- private function __construct()
- {
- }
- /**
- * Returns the trimmed data.
- *
- * @return string
- */
- public static function trim(string $string)
- {
- if (null !== $result = @preg_replace('/^[\pZ\pC]+|[\pZ\pC]+$/u', '', $string)) {
- return $result;
- }
- return trim($string);
- }
- /**
- * Converts a fully-qualified class name to a block prefix.
- *
- * @param string $fqcn The fully-qualified class name
- *
- * @return string|null The block prefix or null if not a valid FQCN
- */
- public static function fqcnToBlockPrefix(string $fqcn)
- {
- // Non-greedy ("+?") to match "type" suffix, if present
- if (preg_match('~([^\\\\]+?)(type)?$~i', $fqcn, $matches)) {
- return strtolower(preg_replace(['/([A-Z]+)([A-Z][a-z])/', '/([a-z\d])([A-Z])/'], ['\\1_\\2', '\\1_\\2'], $matches[1]));
- }
- return null;
- }
- }
|