Bug #12120 Updated: Several following < characters ignored by striptags()

From: Date: Sun, 07 Jul 2002 17:15:39 +0000
Subject: Bug #12120 Updated: Several following < characters ignored by striptags()
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-13406@lists.php.net to get a copy of this message
ID: 12120 Updated by: derick@php.net Reported By: michel@eevolved.com -Status: Open +Status: Verified Bug Type: Strings related Operating System: Linux Mandrake -PHP Version: 4.1.1 +PHP Version: 4.3.0CVS Previous Comments: ------------------------------------------------------------------------ [2002-01-22 07:54:04] yohgaki@php.net Version update ------------------------------------------------------------------------ [2002-01-22 07:31:02] martin@humany.com I reproduced the problem in PHP 4.1.1, using the same code: $foo = strip_tags("< < <b>hello</b>", "<b>"); echo $foo; // prints "< b>hello" with a hidden "</b>" Tested on Windows XP and Linux 2.4 ------------------------------------------------------------------------ [2001-08-19 13:31:23] michel@eevolved.com I did not try with the newest release, and unfortunatly cannot currently test more with any version (different computer, not suitable for PHP.) Sorry I could not help. Do note, though, that I have been to many, many sites who use PHP, to look into what their solution is to striptags(), and all the sites seem to use a custom function. Obviously, I am not the only one to have this problem (again, as far as 4.0.4pl1 is concerned.) ------------------------------------------------------------------------ [2001-08-19 05:00:02] sniper@php.net Does this happen with PHP 4.0.6? ------------------------------------------------------------------------ [2001-07-12 21:54:40] michel@eevolved.com $foo = strip_tags("< < <b>hello</b>", "<b>"); echo $foo; // prints "< b>hello" with a hidden "</b>" strip_tags(), in this case, returns the string it was supplied, but omits the second and third '<' character. In a regular browser, it would display the 3 '<' characters, seperated by spaces: "< < <" (equivalent to "&lt; &lt; &lt;") followed by a bold hello. Yet since PHP probably raises a flag after the first "<", all subsequent "<" characters are ignored until the next ">". To resume: Source witSource without strip_tags: "< < <b>hello</b>" Source with strip_tags: "< b>hello</b>" I would also like to point out: $foo = strip_tags("< < < >hello</b>", "<b>"); echo $foo; Source without strip_tags: "< < < >hello</b>" Source with strip_tags: "hello</b>" ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/12120 -- Edit this bug report at http://bugs.php.net/?id=12120&edit=1

« previous php.bugs (#13406) next »