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