Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.18 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>BF</title>
  6. </head>
  7.  
  8. <body>
  9. <form action="1.bf.php">
  10.     <textarea name="text2" placeholder="code"></textarea><br>
  11.     <input type="text" name='text' placeholder="parametrs"><br>
  12.     <button>button</button>
  13. </form>
  14. </body>
  15.  
  16. </html>
  17.  
  18. <?php
  19. //echo $_REQUEST['text'];
  20.  
  21. $data = $_REQUEST['text2']; //данные, которые вводим
  22. $params = $_REQUEST['text'];
  23. $array = array(0); //хранение результата
  24. $current = 0; //текущий элемент
  25.  
  26. $data_array = str_split($data); //преобразование в массив данных
  27. $params_array = str_split($params);
  28. $index_for_params = 0;
  29. $brackets = 0;
  30.  
  31. //echo count($data_array);
  32.  
  33. for ($i = 0; $i < count($data_array); ++$i) {
  34.     //echo $data_array[$i];
  35.  
  36.     switch ($data_array[$i]) {
  37.         case ">":
  38.             $current++;
  39.             break;
  40.  
  41.         case "<":
  42.             $current--;
  43.             break;
  44.  
  45.         case "+":
  46.             $array[$current]++;
  47.             break;
  48.  
  49.         case "-":
  50.             $array[$current]--;
  51.             break;
  52.  
  53.         case ".":
  54.             echo chr($array[$current]);
  55.             break;
  56.  
  57.         case ",":
  58.             $array[$current] = ord($params_array[$index_for_params++]);
  59.             break;
  60.  
  61.         case "[":
  62.             if(!$array[$current]){
  63.                 ++$brackets;
  64.                 while ($brackets){
  65.                     ++$i;
  66.                     if($data_array[$i] == "["){
  67.                         ++$brackets;
  68.                     }
  69.                     else if ($data_array[$i] == "]"){
  70.                         --$brackets;
  71.                     }
  72.                 }
  73.             }
  74.             break;
  75.  
  76.         case "]":
  77.             if($array[$current]){
  78.                 ++$brackets;
  79.                 while ($brackets){
  80.                     --$i;
  81.                     if ($data_array[$i]=="]"){
  82.                         ++$brackets;
  83.                     }
  84.                     else if ($data_array[$i]=="["){
  85.                         --$brackets;
  86.                     }
  87.                 }
  88.             }
  89.             break;
  90.     }
  91. }
  92. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement