📍 /home/diasdiamonds/public_html/vendor/jasny/twig-extensions/src
📝 Editando: PcreExtension.php
<?php namespace Jasny\Twig; /** * Expose the PCRE functions to Twig. * * @see http://php.net/manual/en/book.pcre.php */ class PcreExtension extends \Twig_Extension { /** * Class constructor */ public function __construct() { if (!extension_loaded('pcre')) { throw new \Exception("The Twig PCRE extension requires the PCRE extension."); // @codeCoverageIgnore } } /** * Return extension name * * @return string */ public function getName() { return 'jasny/pcre'; } /** * {@inheritdoc} */ public function getFilters() { return [ new \Twig_SimpleFilter('preg_quote', [$this, 'quote']), new \Twig_SimpleFilter('preg_match', [$this, 'match']), new \Twig_SimpleFilter('preg_get', [$this, 'get']), new \Twig_SimpleFilter('preg_get_all', [$this, 'getAll']), new \Twig_SimpleFilter('preg_grep', [$this, 'grep']), new \Twig_SimpleFilter('preg_replace', [$this, 'replace']), new \Twig_SimpleFilter('preg_filter', [$this, 'filter']), new \Twig_SimpleFilter('preg_split', [$this, 'split']), ]; } /** * Check that the regex doesn't use the eval modifier * * @param string $pattern * @throws \LogicException */ protected function assertNoEval($pattern) { $pos = strrpos($pattern, $pattern[0]); $modifiers = substr($pattern, $pos + 1); if (strpos($modifiers, 'e') !== false) { throw new \Twig_Error_Runtime("Using the eval modifier for regular expressions is not allowed"); } } /** * Quote regular expression characters. * * @param string $value * @param string $delimiter * @return string */ public function quote($value, $delimiter = '/') { if (!isset($value)) { return null; } return preg_quote($value, $delimiter); } /** * Perform a regular expression match. * * @param string $value * @param string $pattern * @return boolean */ public function match($value, $pattern) { if (!isset($value)) { return null; } return preg_match($pattern, $value); } /** * Perform a regular expression match and return a matched group. * * @param string $value * @param string $pattern * @return string */ public function get($value, $pattern, $group = 0) { if (!isset($value)) { return null; } return preg_match($pattern, $value, $matches) && isset($matches[$group]) ? $matches[$group] : null; } /** * Perform a regular expression match and return the group for all matches. * * @param string $value * @param string $pattern * @return array */ public function getAll($value, $pattern, $group = 0) { if (!isset($value)) { return null; } return preg_match_all($pattern, $value, $matches, PREG_PATTERN_ORDER) && isset($matches[$group]) ? $matches[$group] : []; } /** * Perform a regular expression match and return an array of entries that match the pattern * * @param array $values * @param string $pattern * @param string $flags Optional 'invert' to return entries that do not match the given pattern. * @return array */ public function grep($values, $pattern, $flags = '') { if (!isset($values)) { return null; } if (is_string($flags)) { $flags = $flags === 'invert' ? PREG_GREP_INVERT : 0; } return preg_grep($pattern, $values, $flags); } /** * Perform a regular expression search and replace. * * @param string $value * @param string $pattern * @param string $replacement * @param int $limit * @return string */ public function replace($value, $pattern, $replacement = '', $limit = -1) { $this->assertNoEval($pattern); if (!isset($value)) { return null; } return preg_replace($pattern, $replacement, $value, $limit); } /** * Perform a regular expression search and replace, returning only matched subjects. * * @param string $value * @param string $pattern * @param string $replacement * @param int $limit * @return string */ public function filter($value, $pattern, $replacement = '', $limit = -1) { $this->assertNoEval($pattern); if (!isset($value)) { return null; } return preg_filter($pattern, $replacement, $value, $limit); } /** * Split text into an array using a regular expression. * * @param string $value * @param string $pattern * @return array */ public function split($value, $pattern) { if (!isset($value)) { return null; } return preg_split($pattern, $value); } }
[ Cancelar ]
Nome
Permissões
Ações
[ .. Voltar ]
📄 ArrayExtension.php
0644
[ EDITAR/VER ]
📄 DateExtension.php
0644
[ EDITAR/VER ]
📄 PcreExtension.php
0644
[ EDITAR/VER ]
📄 TextExtension.php
0644
[ EDITAR/VER ]