example.ec 802 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?c
  2. #include <stdio.h>
  3. void escape(char *str, FILE *out);
  4. int main(int argc, char *argv[])
  5. {
  6. int i;
  7. ?>
  8. <p>Hello @!{argv[0]}@!</p>
  9. <table>
  10. <tbody>
  11. <?c for (i = 1; i < argc; i++) { ?>
  12. <tr bgcolor="@{i % 2 == 0 ? "#FFCCCC" : "#CCCCFF"}@">
  13. <td>@!{"%d", i}@</td>
  14. <td>@{argv[i]}@</td>
  15. </tr>
  16. <?c } ?>
  17. </tbody>
  18. </table>
  19. <?c
  20. return 0;
  21. }
  22. void escape(char *str, FILE *out)
  23. {
  24. char *pch;
  25. for (pch = str; *pch != '\0'; pch++) {
  26. switch (*pch) {
  27. case '&': fputs("&amp;", out); break;
  28. case '>': fputs("&gt;", out); break;
  29. case '<': fputs("&lt;", out); break;
  30. case '"': fputs("&quot;", out); break;
  31. case '\'': fputs("&#039;", out); break;
  32. default: fputc(*pch, out);
  33. }
  34. }
  35. }
  36. ?>