Gettext_Translations::parenthesize_plural_exression( string $expression )

Adds parentheses to the inner parts of ternary operators in plural expressions, because PHP evaluates ternary oerators from left to right


Description Description


Parameters Parameters

$expression

(string) (Required) the expression without parentheses


Top ↑

Return Return

(string) the expression with parentheses added


Top ↑

Source Source

File: wp-includes/pomo/translations.php

		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, ';' );
		}

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.