private PoHeader::tokenizeFormula($formula)
Tokenize the formula.
Parameters
string $formula: A string containing the arithmetic formula.
Return value
array List of arithmetic tokens identified in the formula.
File
- core/lib/Drupal/Component/Gettext/PoHeader.php, line 374
Class
- PoHeader
- Gettext PO header handler.
Namespace
Drupal\Component\Gettext
Code
private function tokenizeFormula($formula) { $formula = str_replace(" ", "", $formula); $tokens = array(); for ($i = 0; $i < strlen($formula); $i++) { if (is_numeric($formula[$i])) { $num = $formula[$i]; $j = $i + 1; while ($j < strlen($formula) && is_numeric($formula[$j])) { $num .= $formula[$j]; $j++; } $i = $j - 1; $tokens[] = $num; } elseif ($pos = strpos(" =<>!&|", $formula[$i])) { $next = $formula[$i + 1]; switch ($pos) { case 1: case 2: case 3: case 4: if ($next == '=') { $tokens[] = $formula[$i] . '='; $i++; } else { $tokens[] = $formula[$i]; } break; case 5: if ($next == '&') { $tokens[] = '&&'; $i++; } else { $tokens[] = $formula[$i]; } break; case 6: if ($next == '|') { $tokens[] = '||'; $i++; } else { $tokens[] = $formula[$i]; } break; } } else { $tokens[] = $formula[$i]; } } return $tokens; }
Please login to continue.