felipe          Fri Nov 21 19:16:50 2008 UTC

  Added files:                 (Branch: PHP_5_3)
    /php-src/ext/standard/tests/strings bug46578.phpt 

  Modified files:              
    /php-src/ext/standard       string.c 
  Log:
  - MFH: Fixed bug #46578 (strip_tags() does not honor end-of-comment when it 
encounters a single quote)
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.445.2.14.2.69.2.37&r2=1.445.2.14.2.69.2.38&diff_format=u
Index: php-src/ext/standard/string.c
diff -u php-src/ext/standard/string.c:1.445.2.14.2.69.2.37 
php-src/ext/standard/string.c:1.445.2.14.2.69.2.38
--- php-src/ext/standard/string.c:1.445.2.14.2.69.2.37  Sun Nov  2 18:24:34 2008
+++ php-src/ext/standard/string.c       Fri Nov 21 19:16:50 2008
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: string.c,v 1.445.2.14.2.69.2.37 2008/11/02 18:24:34 felipe Exp $ */
+/* $Id: string.c,v 1.445.2.14.2.69.2.38 2008/11/21 19:16:50 felipe Exp $ */
 
 /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
 
@@ -4353,7 +4353,10 @@
 
                        case '"':
                        case '\'':
-                               if (state == 2 && *(p-1) != '\\') {
+                               if (state == 4) {
+                                       /* Inside <!-- comment --> */
+                                       break;
+                               } else if (state == 2 && *(p-1) != '\\') {
                                        if (lc == c) {
                                                lc = '\0';
                                        } else if (lc != '\\') {

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/bug46578.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/strings/bug46578.phpt
+++ php-src/ext/standard/tests/strings/bug46578.phpt
--TEST--
Bug #46578 (strip_tags() does not honor end-of-comment when it encounters a 
single quote)
--FILE--
<?php

var_dump(strip_tags('<!-- testing I\'ve been to mars -->foobar'));

var_dump(strip_tags('<a alt="foobar">foo<!-- foo! --></a>bar'));

var_dump(strip_tags('<a alt="foobar"/>foo<?= foo! /* <!-- "cool" --> */ 
?>bar'));

var_dump(strip_tags('< ax'));

var_dump(strip_tags('<! a>'));

var_dump(strip_tags('<? ax'));

?>
--EXPECTF--
%string|unicode%(6) "foobar"
%string|unicode%(6) "foobar"
%string|unicode%(6) "foobar"
%string|unicode%(4) "< ax"
%string|unicode%(0) ""
%string|unicode%(0) ""



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to