ID: 12120
Updated by: yohgaki
Reported By: [EMAIL PROTECTED]
Status: Open
Bug Type: Strings related
Operating System: Linux Mandrake
Old PHP Version: 4.0.4pl1
PHP Version: 4.1.1
New Comment:

Version update


Previous Comments:
------------------------------------------------------------------------

[2002-01-22 07:31:02] [EMAIL PROTECTED]

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] [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 "&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>"


------------------------------------------------------------------------

[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 "&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>"
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]

Reply via email to