public static function unpoify($string)
    {
        $escapes = array('t' => "\t", 'n' => "\n", 'r' => "\r", '\\' => '\\');
        $lines = array_map('trim', explode("\n", $string));
        $lines = array_map(array(__NAMESPACE__ . '\PO', 'trim_quotes'), $lines);
        $unpoified = '';
        $previous_is_backslash = false;
        foreach ($lines as $line) {
            preg_match_all('/./u', $line, $chars);
            $chars = $chars[0];
            foreach ($chars as $char) {
                if (!$previous_is_backslash) {
                    if ('\\' == $char) {
                        $previous_is_backslash = true;
                    } else {
                        $unpoified .= $char;
                    }
                } else {
                    $previous_is_backslash = false;
                    $unpoified .= isset($escapes[$char]) ? $escapes[$char] : $char;
                }
            }
        }

        // Standardise the line endings on imported content, technically PO files shouldn't contain \r
        $unpoified = str_replace(array("\r\n", "\r"), "\n", $unpoified);

        return $unpoified;
    }
public static function unpoify($string)
    {
        $escapes = array('t' => "\t", 'n' => "\n", 'r' => "\r", '\\' => '\\');
        $lines = array_map('trim', explode("\n", $string));
        $lines = array_map(array(__NAMESPACE__ . '\PO', 'trim_quotes'), $lines);
        $unpoified = '';
        $previous_is_backslash = false;
        foreach ($lines as $line) {
            preg_match_all('/./u', $line, $chars);
            $chars = $chars[0];
            foreach ($chars as $char) {
                if (!$previous_is_backslash) {
                    if ('\\' == $char) {
                        $previous_is_backslash = true;
                    } else {
                        $unpoified .= $char;
                    }
                } else {
                    $previous_is_backslash = false;
                    $unpoified .= isset($escapes[$char]) ? $escapes[$char] : $char;
                }
            }
        }

        // Standardise the line endings on imported content, technically PO files shouldn't contain \r
        $unpoified = str_replace(array("\r\n", "\r"), "\n", $unpoified);

        return $unpoified;
    }
public static function unpoify ( $ string ) { $ escapes = array ( 't' => "\t" , 'n' => "\n" , 'r' => "\r" , '\\' => '\\' ) ; $ lines = array_map ( 'trim' , explode ( "\n" , $ string ) ) ; $ lines = array_map ( array ( __NAMESPACE__ . '\PO' , 'trim_quotes' ) , $ lines ) ; $ unpoified = '' ; $ previous_is_backslash = false ; foreach ( $ lines as $ line ) { preg_match_all ( '/./u' , $ line , $ chars ) ; $ chars = $ chars [ 0 ] ; foreach ( $ chars as $ char ) { if ( ! $ previous_is_backslash ) { if ( '\\' == $ char ) { $ previous_is_backslash = true ; } else { $ unpoified .= $ char ; } } else { $ previous_is_backslash = false ; $ unpoified .= isset ( $ escapes [ $ char ] ) ? $ escapes [ $ char ] : $ char ; } } } // Standardise the line endings on imported content, technically PO files shouldn't contain \r $ unpoified = str_replace ( array ( "\r\n" , "\r" ) , "\n" , $ unpoified ) ; return $ unpoified ; }
Gives back the original string from a PO-formatted string.

@param string $string PO-formatted string

@return string enascaped string
Gives back the original string from a PO - formatted string .