ID:               22008
 Comment by:       phpdig at toiletoine dot net
 Reported By:      airtravel at anet dot ne dot jp
 Status:           Open
 Bug Type:         Documentation problem
 Operating System: all
 PHP Version:      4.3.0
 New Comment:

This code :
<?php
print "Test one :".strip_tags('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 Transitional//EN">
<HTML><HEAD><TITLE>Some title</TITLE>
<META content="text/html; charset="ISO-8859-1"
http-equiv=Content-Type>')
."<br>";

print "-----------<br>";

print "Test two :".strip_tags('<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 Transitional//EN">
<HTML><HEAD><TITLE>Some title</TITLE>
<META content="text/html; charset="ISO-8859-1"
http-equiv=Content-Type>')
."<br>";

print "-----------<br>";

print "Test three :".strip_tags('<!FOO BAR>
real text
<br>')
."<br>";

?>

Gives me :

Test one :
-----------
Test two : Some title 
-----------
Test three :


Any "<!SOMETHING..." strips all !!


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

[2003-02-03 14:59:42] [EMAIL PROTECTED]

I've tried the latest CVS and tried to fetch the page you've specified.
As far as I can tell the function had worked correctly, only non-html
output was displayed.

P.S. Philip the fgetss() function is supposed to handle tags that span
multiple lines, so that should not be a problem.

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

[2003-02-02 22:06:07] airtravel at anet dot ne dot jp

This is something to do with <!DOCTYPE>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html40/strict.dtd";>
seems to be causing problem.

Again PHP4.2.3 or earlier treats this without problem.

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

[2003-02-02 21:08:46] airtravel at anet dot ne dot jp

Thank you for your comments.
I found this problem only occurs when parsing specific html.

Please try the following URL to see my problem.
Thank you.

<?php
 $fp =
fopen("http://adds.aviationweather.gov/projects/adds/metars/index.php?metarIds=ksfo";,
"r");
 while (($line=fgetss($fp, 4096))!==FALSE) {
  echo $line;
 }
 fclose($fp);
?>

<?php
 $fp =
fopen("http://adds.aviationweather.gov/projects/adds/metars/index.php?metarIds=ksfo";,
"r");
 while (($line = strip_tags(fgets($fp, 4096)))!==FALSE) {
  echo $line;
 }
 fclose($fp);
?>

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

[2003-02-02 15:46:14] [EMAIL PROTECTED]

c) Add a <note> regarding the 'blank lines' comment from Ilia.

I don't think strip_tags() needs this <note> but maybe it does
(doubtful).

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

[2003-02-02 15:41:51] [EMAIL PROTECTED]

That or maybe a problem existed because it only gets/strips one line at
a time which makes dealing with html tags spanning multiple lines
not-so-good.  So using this fgetss() example script vs
strip_tags(file_get_contents($url)) will yield different results.

Reclassifying as a doc problem for fgetss():
a) Add the 0 vs false entity
b) Add a warning regarding spanning html tags; offer an alternative

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

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/22008

-- 
Edit this bug report at http://bugs.php.net/?id=22008&edit=1


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

Reply via email to