Gettext_Translations::parenthesize_plural_exression( string $expression ): string
Adds parentheses to the inner parts of ternary operators in plural expressions, because PHP evaluates ternary oerators from left to right
Contents
Parameters
-
$expression
string Required -
the expression without parentheses
Return
string the expression with parentheses added
Source
File: wp-includes/pomo/translations.php
.
View all references
public function parenthesize_plural_exression( $expression ) {
$expression .= ';';
$res = '';
$depth = 0;
for ( $i = 0; $i < strlen( $expression ); ++$i ) {
$char = $expression[ $i ];
switch ( $char ) {
case '?':
$res .= ' ? (';
$depth++;
break;
case ':':
$res .= ') : (';
break;
case ';':
$res .= str_repeat( ')', $depth ) . ';';
$depth = 0;
break;
default:
$res .= $char;
}
}
return rtrim( $res, ';' );
}