π /home/diasdiamonds/public_html/vendor/psy/psysh/src/Util
π Editando: Str.php
<?php /* * This file is part of Psy Shell. * * (c) 2012-2018 Justin Hileman * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Psy\Util; /** * String utility methods. * * @author ju1ius */ class Str { const UNVIS_RX = <<<'EOS' / \\(?: ((?:040)|s) | (240) | (?: M-(.) ) | (?: M\^(.) ) | (?: \^(.) ) ) /xS EOS; /** * Decodes a string encoded by libsd's strvis. * * From `man 3 vis`: * * Use an βMβ to represent meta characters (characters with the 8th bit set), * and use a caret β^β to represent control characters (see iscntrl(3)). * The following formats are used: * * \040 Represents ASCII space. * * \240 Represents Meta-space (  in HTML). * * \M-C Represents character βCβ with the 8th bit set. * Spans characters β\241β through β\376β. * * \M^C Represents control character βCβ with the 8th bit set. * Spans characters β\200β through β\237β, and β\377β (as β\M^?β). * * \^C Represents the control character βCβ. * Spans characters β\000β through β\037β, and β\177β (as β\^?β). * * The other formats are supported by PHP's stripcslashes, * except for the \s sequence (ASCII space). * * @param string $input The string to decode * * @return string */ public static function unvis($input) { $output = preg_replace_callback(self::UNVIS_RX, 'self::unvisReplace', $input); // other escapes & octal are handled by stripcslashes return stripcslashes($output); } /** * Callback for Str::unvis. * * @param array $match The matches passed by preg_replace_callback * * @return string */ protected static function unvisReplace($match) { // \040, \s if (!empty($match[1])) { return "\x20"; } // \240 if (!empty($match[2])) { return "\xa0"; } // \M-(.) if (isset($match[3]) && $match[3] !== '') { $chr = $match[3]; // unvis S_META1 $cp = 0200; $cp |= ord($chr); return chr($cp); } // \M^(.) if (isset($match[4]) && $match[4] !== '') { $chr = $match[4]; // unvis S_META | S_CTRL $cp = 0200; $cp |= ($chr === '?') ? 0177 : ord($chr) & 037; return chr($cp); } // \^(.) if (isset($match[5]) && $match[5] !== '') { $chr = $match[5]; // unvis S_CTRL $cp = 0; $cp |= ($chr === '?') ? 0177 : ord($chr) & 037; return chr($cp); } } }
[ Cancelar ]
Nome
PermissΓ΅es
AΓ§Γ΅es
[ .. Voltar ]
π Docblock.php
0644
[ EDITAR/VER ]
π Json.php
0644
[ EDITAR/VER ]
π Mirror.php
0644
[ EDITAR/VER ]
π Str.php
0644
[ EDITAR/VER ]