summaryrefslogtreecommitdiff
path: root/ext/tokenizer/tokenizer.php
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /ext/tokenizer/tokenizer.php
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/tokenizer/tokenizer.php')
-rw-r--r--ext/tokenizer/tokenizer.php35
1 files changed, 35 insertions, 0 deletions
diff --git a/ext/tokenizer/tokenizer.php b/ext/tokenizer/tokenizer.php
new file mode 100644
index 0000000..c13063c
--- /dev/null
+++ b/ext/tokenizer/tokenizer.php
@@ -0,0 +1,35 @@
+<?php
+
+if(!extension_loaded('tokenizer')) {
+ dl('tokenizer.so');
+}
+
+$fp = fopen('php://stdin', 'r');
+while (!feof($fp)) {
+ $content .= fread($fp, 4096);
+}
+fclose($fp);
+
+$tokens = token_get_all($content);
+
+$count = count($tokens);
+$state = 0;
+for ($i = 0; $i < $count; $i++) {
+ $token = $tokens[$i];
+ if (is_array($token)) {
+ if ($state == 1 && $token[0] == T_STRING) {
+ $token[1] = preg_replace('!([a-z])([A-Z])!e', '"$1_".strtolower("$2")', $token[1]);
+ $state = 0;
+ } else if ($token[0] == T_FUNCTION) {
+ $state = 1;
+ }
+ $chunk = $token[1];
+ } else {
+ $chunk = $token;
+ }
+ $output .= $chunk;
+}
+
+print $output;
+
+?>