Viewing file: FileExtensionEscapingStrategy.php (1.41 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* * This file is part of Twig. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */
namespace Twig;
/** * Default autoescaping strategy based on file names. * * This strategy sets the HTML as the default autoescaping strategy, * but changes it based on the template name. * * Note that there is no runtime performance impact as the * default autoescaping strategy is set at compilation time. * * @author Fabien Potencier <[email protected]> */ class FileExtensionEscapingStrategy { /** * Guesses the best autoescaping strategy based on the file name. * * @param string $name The template name * * @return string|false The escaping strategy name to use or false to disable */ public static function guess(string $name) { if (\in_array(substr($name, -1), ['/', '\\'])) { return 'html'; // return html for directories }
if ('.twig' === substr($name, -5)) { $name = substr($name, 0, -5); }
$extension = pathinfo($name, \PATHINFO_EXTENSION);
switch ($extension) { case 'js': return 'js';
case 'css': return 'css';
case 'txt': return false;
default: return 'html'; } } }
|