diff options
author | RedMatrix <info@friendica.com> | 2014-12-30 08:56:50 +1100 |
---|---|---|
committer | RedMatrix <info@friendica.com> | 2014-12-30 08:56:50 +1100 |
commit | ca8b31b989d2dfb5b1a139c1f757651ed55291b1 (patch) | |
tree | fb5a3e52bf6b29426b1174448ddfd94a6c4a339a | |
parent | f2bfdf0c76d2cce95f136b5240a6d7aa18bea8dc (diff) | |
parent | d029d3a9f939f2691e3091a93fa4561dab13f15a (diff) | |
download | volse-hubzilla-ca8b31b989d2dfb5b1a139c1f757651ed55291b1.tar.gz volse-hubzilla-ca8b31b989d2dfb5b1a139c1f757651ed55291b1.tar.bz2 volse-hubzilla-ca8b31b989d2dfb5b1a139c1f757651ed55291b1.zip |
Merge pull request #786 from f03el/master
Don't trim escaped quotes
-rw-r--r-- | util/po2php.php | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/util/po2php.php b/util/po2php.php index d3e6d190c..cf295d8cb 100644 --- a/util/po2php.php +++ b/util/po2php.php @@ -73,7 +73,7 @@ function po2php_run($argv, $argc) { } $match=Array(); preg_match("|\[([0-9]*)\] (.*)|", $l, $match); - $out .= "\t". + $out .= "\t". preg_replace_callback($escape_s_exp,'escape_s',$match[1]) ." => " .preg_replace_callback($escape_s_exp,'escape_s',$match[2]) .",\n"; @@ -83,7 +83,7 @@ function po2php_run($argv, $argc) { if ($ink) { - $k .= trim($l,"\"\r\n"); + $k .= trim_message($l); $k = preg_replace_callback($escape_s_exp,'escape_s',$k); //$out .= '$a->strings['.$k.'] = '; } @@ -93,7 +93,7 @@ function po2php_run($argv, $argc) { if ($k!="") $out .= $arr?");\n":";\n"; $arr=False; $k = str_replace("msgid ","",$l); - $k = trim($k,"\"\r\n"); + $k = trim_message($k); $k = $ctx.$k; // echo $ctx ? $ctx."\nX\n":""; $k = preg_replace_callback($escape_s_exp,'escape_s',$k); @@ -102,14 +102,14 @@ function po2php_run($argv, $argc) { } if ($inv && substr($l,0,6)!="msgstr" && substr($l,0,7)!="msgctxt") { - $v .= trim($l,"\"\r\n"); + $v .= trim_message($l); $v = preg_replace_callback($escape_s_exp,'escape_s',$v); //$out .= '$a->strings['.$k.'] = '; } if (substr($l,0,7)=="msgctxt") { $ctx = str_replace("msgctxt ","",$l); - $ctx = trim($ctx,"\"\r\n"); + $ctx = trim_message($ctx); $ctx = "__ctx:".$ctx."__ "; $ctx = preg_replace_callback($escape_s_exp,'escape_s',$ctx); } @@ -123,6 +123,14 @@ function po2php_run($argv, $argc) { } +function trim_message($str) { + // Almost same as trim("\"\r\n") except that escaped quotes are preserved + $str = trim($str, "\r\n"); + $str = ltrim($str, "\""); + $str = preg_replace('/(?<!\\\)"+$/', '', $str); + return $str; +} + if (array_search(__file__,get_included_files())===0){ po2php_run($argv,$argc); } |