--- /dev/null
+<?php\r
+\r
+$code = "++++++++[>+++++++++<-]>.<+++++[>++++++<-]>-.+++++++..+++.<++++++++[>>++++<<-]>>.<<++++[>------<-]>.<++++[>++++++<-]>.+++.------.--------.>+.";\r
+\r
+$buffer = "";\r
+$pos = 0;\r
+$while = array(); // array($i, ...)\r
+for ($i=0; $i < strlen($code); $i++) {\r
+ switch ($code{$i}) {\r
+ case '>': $pos++; break;\r
+ case '<': $pos--; break;\r
+ case '+': $buffer{$pos} = chr(ord($buffer{$pos}) + 1); break;\r
+ case '-': $buffer{$pos} = chr(ord($buffer{$pos}) - 1); break;\r
+ case '.': echo $buffer{$pos}; break;\r
+ case ',': $buffer{$pos} = fgetc(STDIN); break;\r
+ case '[': if (ord($buffer{$pos})) $while[] = $i; else for ($depth=1; $depth; $i++) {\r
+ if ($code{$i+1} == '[') $depth++;\r
+ elseif ($code{$i+1} == ']') $depth--;\r
+ }\r
+ break;\r
+ case ']': $i = array_pop($while) - 1; break;\r
+ default: echo "Unrecognized character.\n"; exit(1);\r
+ }\r
+}\r
+\r
+echo("\n\n");\r
+\r
+?>\r