PO::unpoify( string $string )

Gives back the original string from a PO-formatted string


Parameters

$string

(string) (Required) PO-formatted string


Return

(string) enascaped string


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;
	}