02.06 php saved
T0aD
Tags add more
 
Note
Just a little parser for a home made feed
  1. #! /usr/bin/php -q
  2. <?php
  3.  
  4. $str = 'user #user:43 created website #website:454';
  5. $str2 = 'user #user:56 blocked website #website:32 of user #user:43';
  6. $str = 'user #user:4343 gave access to group #group:43 to user #user:435';
  7. $str = 'user #user:21 was invited by user #user:23 and created website #website:54';
  8. $str = 'user #user:6565 changed his email to {toad@403.sk}';
  9. translate($str);
  10. //translate($str2);
  11.  
  12. function translate($str)
  13. {
  14.   $final = array();
  15.   $idx = 0;
  16.   $final[$idx++] = '';
  17.  
  18.   echo "str: $str\n";
  19.  
  20.   $in = false;
  21.   $var = '';
  22.   for ($i = 0; isset($str[$i]); $i++) {
  23.     if ($in == true && $str[$i] == ' ') {
  24.       $in = false;
  25.       $final[0] .= '%s ';
  26.       $final[$idx++] = translateVar($var);
  27. #      echo "var: $var\n";
  28.       $var = '';
  29.     } elseif ($in == true) {
  30.       $var .= $str[$i];
  31.     } elseif ($in == false && $str[$i] == '#') {
  32.       $in = true;
  33.     } else if ($in == false && $ins == false && $str[$i] == '{') {
  34.       $ins = true;
  35.     } else if ($ins == true && $str[$i] == '}') {
  36.       $ins = false;
  37.       $final[0] .= '%s';
  38.       $final[$idx++] = $var;
  39.       $var = '';
  40.     } else if ($ins == true) {
  41.       $var .= $str[$i];
  42.     } else {
  43.       $final[0] .= $str[$i];
  44.     }
  45.   }
  46.   if ($in == true) { // not over!
  47. #    echo "var: $var\n";
  48.     $final[0] .= '%s';
  49.     $final[$idx++] = translateVar($var);
  50.   } else if ($ins == true) {
  51.     $final[0] .= '%s';
  52.     $final[$idx++] = $var;
  53.   }
  54.  
  55.   echo "translated: ".print_r($final, true)."\n";
  56. }
  57.  
  58. function translateVar($var) {
  59.   $varT = explode(':', $var);
  60.   return '('.$varT[0] . " with id of " . $varT[1].')';
  61. }
  62.  
Parsed in 0.107 seconds, using GeSHi 1.0.7.14

Modify this Paste