Manuel php off-line + recherche
Posté : 06 nov. 2008, 21:10
Bonsoir à tous,
Je ne sais pas si je suis au bon endroit (peut-être que ça serait mieux dans vos contribution?)
Bref j'ai dévelloper rapidement un petit outil de recherche dans la documentation hors-ligne du site php.net, car je n'ai pas toujours internet à portée de main, et celà s'avère fort utile parfois
Le script est assez sommaire, la recherche ne fonctionnera pas par exemple si vous rentrez dzte au lieu de date, mais ça reste très utilisable, surtout par des développeurs
Donc pour tout ceux qui n'aiment pas les .chm, voici ce qui vous reste à faire:
téléchargez la documentation içi: http://www.php.net/download-docs.php
choisissez le format "Many HTML file", dans la langue que vous souhaitez
et ensuite, il suffit de vous créer un dossier dans votre arborescence serveur, où mettre ces fichiers:
index.php:Il faut bien sur changer le chemin d'accès aux fichiers...
Voilà c'est développé vite fait en total non-respect des standards et tout et tout, mais c'est bien utile
En espérant que ça serve!
Toutes suggestions sont les bienvenues!
EDIT: Changement de la méthode, les frames sont supprimées
Je ne sais pas si je suis au bon endroit (peut-être que ça serait mieux dans vos contribution?)
Bref j'ai dévelloper rapidement un petit outil de recherche dans la documentation hors-ligne du site php.net, car je n'ai pas toujours internet à portée de main, et celà s'avère fort utile parfois
Le script est assez sommaire, la recherche ne fonctionnera pas par exemple si vous rentrez dzte au lieu de date, mais ça reste très utilisable, surtout par des développeurs
Donc pour tout ceux qui n'aiment pas les .chm, voici ce qui vous reste à faire:
téléchargez la documentation içi: http://www.php.net/download-docs.php
choisissez le format "Many HTML file", dans la langue que vous souhaitez
et ensuite, il suffit de vous créer un dossier dans votre arborescence serveur, où mettre ces fichiers:
index.php:
<?php
//coding: utf-8 (Scite configuration)
session_start();
//config
$DOSSIER='/home/joris/Documents/doc-web/php/';
//Pprint_r($_SERVER);
if(!empty($_GET['view'])){
$fichier=$_GET['view'];
$search=(isset($_SESSION['search']) ? $_SESSION['search'] : '');
}else{
if(!empty($_POST['search'])){
$_SESSION['search']=$_POST['search'];
$search=preg_replace('#[^a-z]#','-',$_POST['search']);
if(is_file($DOSSIER.'function.'.$search.'.html')){
$fichier=$DOSSIER.'function.'.$search.'.html';
}elseif(is_file($DOSSIER.'ref.'.$search.'.html')){
$fichier=$DOSSIER.'ref.'.$search.'.html';
}else{
$res=glob($DOSSIER.'*'.$search.'*.html');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="robots" content="index,follow" />
<meta http-equiv="content-language" content="fr">
<title></title>
</head>
<body>
<h1>Aucune recherche exacte...</h1>
<h2>Suggestions:</h2>
<ul>
<?php
if(!$res){
echo '<li>Aucune suggestion... <a href="./index.php" title="retour">Retour au manuel</a></li>';
} else {
foreach($res as $item){
$name=explode('/',$item);
$name=$name[count($name)-1];
$name2=str_replace($search,'<span style="font-weight: bold;color:orange">'.$search.'</span>',$name);
echo '<li><a href="index.php?view='.$item.'" title="'.$name.'">'.$name2.'</a></li>';
}
}
?>
</ul>
</body>
</html>
<?php
exit();
}
} else {
$search=isset($_SESSION['search']) ? $_SESSION['search']:'';
$fichier=$DOSSIER.'index.html';
}
}
$content=file_get_contents($fichier);
echo preg_replace('#<div class="home">(.*)</div>#','<div class="home">$1<form method="post" action="index.php">
<p>Tappez votre recherche:
<input value="'.$_SESSION['search'].'" id="sw" type="text" name="search" />
<input type="submit" name="chercher" /></p>
</form></div>',$content);
exit();
?>
et pour finir le .htaccess qui permet aux liens de la documentation de fonctionner:Code : Tout sélectionner
RewriteEngine on
RewriteRule ^(.*\.html)$ content.php?view=/home/joris/Documents/doc-web/html/$1 [L]Voilà c'est développé vite fait en total non-respect des standards et tout et tout, mais c'est bien utile
En espérant que ça serve!
Toutes suggestions sont les bienvenues!
EDIT: Changement de la méthode, les frames sont supprimées