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