ID: 12120 Comment by: [EMAIL PROTECTED] Old Reported By: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Open Bug Type: Strings related Operating System: Linux Mandrake PHP Version: 4.0.4pl1 New Comment:
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 Previous Comments: ------------------------------------------------------------------------ [2001-08-19 13:31:23] [EMAIL PROTECTED] 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] [EMAIL PROTECTED] Does this happen with PHP 4.0.6? ------------------------------------------------------------------------ [2001-07-12 21:54:40] [EMAIL PROTECTED] $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 "< < <") 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>" ------------------------------------------------------------------------ [2001-07-12 20:32:58] [EMAIL PROTECTED] $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 "< < <") 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>" hout 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>" ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=12120&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]