voici un petit script PHP qui permet d'inclure une page web � partir d'une principale. On peut s'�viter des frames...
L'id�e est de faire une page principale, avec ses ent�tes et pieds, barre de navigation, couleurs de fond, ect, ect.
Ensuite, le contenu peut �tre s�lectionn� par l'utilisateur: liste d�roulante ou n0 de page par exemple.
Les pages incluses doivent �tre en html, of course. Pour �viter un usage abusif, la dimension des pages ne doit pas d�passer 100k: pour du texte, c'est d�j� bien lourd...
Le fichier � inclure peut �tre local ou m�me http. Ce dernier mode est tr�s instructif: si ce n'est pas sur le m�me serveur, des balises <a>...</a> ne seront pas compl�tes, par exemple. Les pages bourr�es de code javascipt plantent rapidement! j'ai essay� pour tester sur le site de la poste (www.poste.ch). Par contre sur un site essentiellement "texte", �a fonctionne sauf pour les liens, qui se r�f�rencent au site original - mais ce n'est pas le but.
Bye,
//Yves
<?php
/* display_html_page.php
---------------------
16/11/2003 - mayv: first release
display a html page content, removing header, html and body tags.
Usage:
1) include the fct code in the html/php main file:
<?php require_once("display_html_page.php"); ?>
2) select the embedded html file, as:$file = "./lot_of_files/test0001.html";
- or -
$file = "http://www.included.com/result.html"
Note : open file not only text on another server can give surprising result.
The local references are anyway lost!
3) use the fct call:
<?php display_html_page($file); ?>
*/
function display_html_page($file_name)
{
$fp = @fopen($file_name, 'rb');
if ($fp==0) die("Error 404 - Can't open file: " . $file_name);
//$body = @fread($fp, filesize($file_name)); //any size
$body = @fread($fp, 100000); // max 100 k// regex issued in: http://www.phpinfo.net/regex/index.html
$body =
eregi_replace('(^.*<html[^>]*>.*<body[^>]*>)|(</body[^>]*>.*</html[^>]*>.*$)', '', $body);
echo $body;
}
?>
et pour tester:
<html>
<!-- Date de cr�ation: 16/11/2003 -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Check of embedded html</title>
<meta name="author" content="Yves Masur">
<meta name="generator" content="WebExpert 5">
</head>
<body>
<?php require_once("display_html_page.php"); ?>
Entrez le fichier HTML � inclure:<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="get" enctype="text/plain">
<input type="text" name="file_name" size="60" maxlength="256">
</form>
Resultat: <?php $file = $_GET['file_name'];
if (strlen($file)>3)
{
echo "file name:" . $file . "<br>\n\r";
display_html_page($file);
}
?>
</body>
</html>
-- /********************************************************************/ /* Yves Masur - Ch de Faug 2 - CH 1805 JONGNY - 021 9228491; FAX:93 */ /* Professionnel: +41 21 631 82 43 mobile: +41 79 479 92 48 */ /* [EMAIL PROTECTED] - homepage: http://yves.masur.microclub.ch/ */ /* Sites: www.aspeda.ch, www.svehk.ch, */ /* www.microclub.ch et www.fanfaredechardonnejongny.ch */ /********************************************************************/
_______________________________________________ microclub-web mailing list [EMAIL PROTECTED] http://lists.alphanet.ch/mailman/listinfo/microclub-web
