diff --git a/ext/standard/string.c b/ext/standard/string.c index 1c096fbfe51..6679b227a14 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -3496,6 +3496,8 @@ PHPAPI void php_strip_tags(char *rbuf, int len, int *stateptr, char *allow, int /* JavaScript & Other HTML scripting languages */ if (state == 1 && *(p-1) == '<') { state = 3; + } else { + *(rp++) = c; } break; diff --git a/ext/standard/tests/strings/strip_tags.phpt b/ext/standard/tests/strings/strip_tags.phpt index 023a6257e45..9c55bc64651 100644 --- a/ext/standard/tests/strings/strip_tags.phpt +++ b/ext/standard/tests/strings/strip_tags.phpt @@ -16,6 +16,8 @@ strip_tags() function echo "\n"; echo strip_tags('NEAT STUFF'); echo "\n"; + echo strip_tags('TESTS ?!!?!?!!!?!!'); + echo "\n"; ?> --EXPECT-- NEAT STUFF @@ -24,3 +26,4 @@ NEAT STUFF NEAT STUFF NEAT STUFF NEAT STUFF +TESTS ?!!?!?!!!?!!