feedback, comments on this php-delimiter scrubbing program?
Gary Kline
kline at thought.org
Tue Jun 16 01:21:21 UTC 2009
guys,
last night i was lost with a slightly shorter version of this.
even looking at a printout did nothing. this morning i had another go
and went in a corner and started at the code. finally i figured it out.
this *seems* to work... The only thing this does is remove the "<?"
and "?>" delimiters. i'll go more into my rationale later on.
i'm pretty sure i can tighten up on this; getting it to work was my main
goal. can any of you break this?
gary
Encl: dephp.c, test
--
Gary Kline kline at thought.org http://www.thought.org Public Service Unix
$Id: dephp.c,v 1.6 2009/06/16 01:05:47 kline Exp kline $
#include <stdio.h>
int
main()
{
int ch;
do
{
if ((ch = getchar()) != EOF)
switch (ch)
{
case '>':
putchar (ch);
break;
case '<':
putchar (ch);
switch ((ch = getchar()) )
{
case '?':
ch = getchar();
while (1)
{
if (ch == '?' && (ch = getchar()) == '>')
{
break;
}
else
{
ch = getchar();
}
}
break;
case '>':
putchar (ch);
break;
default:
putchar(ch);
break;
}
break;
default:
putchar (ch);
}
}
while (ch != EOF);
return 0;
}
// test
foo
bar
<?
baz
?>
blah, blah
<
>
<?lll?>
blah, blah:
more HERE.
<>
< >
<
>
<
>
<?php
?>
More information about the freebsd-questions
mailing list