php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #13988 get_meta_tags function failure if title tag contains a '
Submitted: 2001-11-08 04:09 UTC Modified: 2001-11-19 18:13 UTC
From: software at polin dot it Assigned:
Status: Closed Package: Unknown/Other Function
PHP Version: 4.0.6 OS: Windows 98 first edition
Private report: No CVE-ID: None
 [2001-11-08 04:09 UTC] software at polin dot it
Example:

pippo.html
etc etc
<title>Il mio nome e' pippo</title>
<meta name="description" content"ciao ciao">
etc

pippo.php
$tags = get_meta_tags("pippo.html");
echo $tags['description'];

Case A) Failed
<title>Il mio nome e' pippo</title>
<meta name="description" content"ciao ciao">

echo $tags['description'], echos nothing

Case B) OK
<meta name="description" content"ciao ciao">
<title>Il mio nome e' pippo</title>

$tags['description'], echos ciao ciao


Case C) OK, I remove the character '
<title>Il mio nome est pippo</title>
<meta name="description" content"ciao ciao">

$tags['description'], echos ciao ciao

SUMMARY:
It seems there is a problem of get_meta_tags parsing the meta from an html file.
The problem is the ' character.
If it is contained inside a tag title before a meta then get_meta_tags fails.
If the title tag with the ' character is put after the meta, then it works.
If I delete the ' character then it works always.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-11-09 09:43 UTC] sniper@php.net
Reopen if this happens with PHP 4.0.6

 [2001-11-12 05:11 UTC] software at polin dot it
Yes, it happens with 4.0.6.
 [2001-11-18 19:05 UTC] sniper@php.net
All your example html files are buggy:

<meta name="description" content"ciao ciao">

Note the missing '=' after content?

--Jani

 [2001-11-19 05:23 UTC] software at polin dot it
Sorry but when typing I forget a "=".
This html and php is pasted from the source directly:

test.html.............................................
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Questo e' un titolo di prova</title>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name="description" content="Il mio nome est pippo!">
<meta name="author" content="Andrea!">
</head>
<body>
</body>
</html>
end of file test.html.............................

pippo.php.....................................
<?php
$tags = get_meta_tags("test.html");
echo $tags['description']."<br>".$tags['author'];
?>
end of file pippo.php.........................

As I said:
This example (pippo.php) fails,
because it does not display the description and author tags correctly.
If I move the line <title> after the metas it works.
If I remove the character ' from <title> it works.

The file test.html has been validated at:
http://validator.w3.org
so the html code is correct.

 [2001-11-19 18:13 UTC] sniper@php.net
Can't reproduce with latest CVS.
Please reopen if this doesn't work with
soon to be released PHP 4.1.0

--Jani

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue May 21 12:01:34 2024 UTC