PO::unpoify( string $string )
Gives back the original string from a PO-formatted string
Description Description
Parameters Parameters
- $string
-
(string) (Required) PO-formatted string
Return Return
(string) enascaped string
Source Source
File: wp-includes/pomo/po.php
public static function unpoify( $string ) { $escapes = array( 't' => "\t", 'n' => "\n", 'r' => "\r", '\\' => '\\', ); $lines = array_map( 'trim', explode( "\n", $string ) ); $lines = array_map( array( '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; }
Expand full source code Collapse full source code View on Trac