fork download
  1. <?php
  2.  
  3. $str = '(123*1.23*(0.12/8))*(123*512+40)';
  4.  
  5. $depth = 0;
  6. for ($i = 0; $i < strlen($str); ++$i) {
  7. $char = $str[$i];
  8.  
  9. switch ($char) {
  10. case '(':
  11. ++$depth;
  12. break;
  13. case ')':
  14. --$depth;
  15. break;
  16. case '*':
  17. if ($depth != 0) {
  18. $str = substr_replace($str, '||', $i, 1);
  19. ++$i;
  20. }
  21. break;
  22. }
  23. }
  24.  
  25. echo $str;
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
(123||1.23||(0.12/8))*(123||512+40)