felipe Fri Jul 11 12:43:06 2008 UTC Modified files: /php-src/ext/standard string.c /php-src/ext/standard/tests/strings bug45485.phpt Log: - MFB: Fixed bug #45485 (strip_tags and <?XML tag) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.674&r2=1.675&diff_format=u Index: php-src/ext/standard/string.c diff -u php-src/ext/standard/string.c:1.674 php-src/ext/standard/string.c:1.675 --- php-src/ext/standard/string.c:1.674 Tue May 27 10:28:25 2008 +++ php-src/ext/standard/string.c Fri Jul 11 12:43:06 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: string.c,v 1.674 2008/05/27 10:28:25 mattwil Exp $ */ +/* $Id: string.c,v 1.675 2008/07/11 12:43:06 felipe Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -6623,12 +6623,13 @@ /* fall-through */ case 'l': + case 'L': /* swm: If we encounter '<?xml' then we shouldn't be in * state == 2 (PHP). Switch back to HTML. */ - if (state == 2 && codepts > 2 && prev1 == 'm' && prev2 == 'x') { + if (state == 2 && codepts > 2 && (prev1 == 'm' || prev1 == 'M') && (prev2 == 'x' || prev2 == 'X')) { state = 1; break; } @@ -6859,12 +6860,13 @@ /* fall-through */ case 'l': + case 'L': /* swm: If we encounter '<?xml' then we shouldn't be in * state == 2 (PHP). Switch back to HTML. */ - if (state == 2 && p > buf+2 && *(p-1) == 'm' && *(p-2) == 'x') { + if (state == 2 && p > buf+2 && strncasecmp(p-2, "xm", 2) == 0) { state = 1; break; } http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/bug45485.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/bug45485.phpt diff -u /dev/null php-src/ext/standard/tests/strings/bug45485.phpt:1.2 --- /dev/null Fri Jul 11 12:43:06 2008 +++ php-src/ext/standard/tests/strings/bug45485.phpt Fri Jul 11 12:43:06 2008 @@ -0,0 +1,23 @@ +--TEST-- +Bug #45485 (strip_tags and <?XML tag) +--FILE-- +<?php + +$s =<<< EOD +This text is shown <?XML:NAMESPACE PREFIX = ST1 /><b>This Text disappears</b> +EOD; + +$s = strip_tags($s); +echo htmlspecialchars($s),"\n"; + +$s =<<< EOD +This text is shown <?xml:NAMESPACE PREFIX = ST1 /><b>This Text disappears</b> +EOD; + +$s = strip_tags($s); +echo htmlspecialchars($s),"\n"; + +?> +--EXPECT-- +This text is shown This Text disappears +This text is shown This Text disappears
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php