Skip to content
Extraits de code Groupes Projets
Valider f50840eb rédigé par Antoine Pitrou's avatar Antoine Pitrou
Parcourir les fichiers

php 4.3.2 et var_recherche

parent 739ab16c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -5,6 +5,13 @@
if (defined("_ECRIRE_INC_SURLIGNE")) return;
define("_ECRIRE_INC_SURLIGNE", "1");
// Fonction bidon evitant que PHP optimise les ob_start() vides
function callback_surligne($texte) {
return $texte;
}
// utilise avec ob_start() et ob_get_contents() pour
// mettre en rouge les mots passes dans $var_recherche
function surligner_mots($page, $mots) {
......@@ -53,7 +60,7 @@ function surligner_mots($page, $mots) {
$debut = substr($page, 0, strpos($page, $exp[0])+strlen($exp[0]));
$page = substr($page, strlen($debut));
} else
$debut = '';
$debut = '';
// Remplacer une occurence de mot maxi par espace inter-tag (max 1 par paragraphe, sauf italiques etc.)
// se limiter a 4 remplacements pour ne pas bouffer le CPU
......@@ -68,11 +75,10 @@ function surligner_mots($page, $mots) {
// debut et fin, appeles depuis les squelettes
function debut_surligne($mots, $mode_surligne) {
switch ($mode_surligne) {
case 'auto' : // on arrive du debut de la page, on ne touche pas au buffer
ob_end_flush();
ob_start("");
ob_start('callback_surligne');
$mode_surligne = 'actif';
break;
......@@ -80,12 +86,12 @@ function debut_surligne($mots, $mode_surligne) {
$la_page = surligner_mots(ob_get_contents(), $mots);
ob_end_clean();
echo $la_page;
ob_start("");
ob_start('callback_surligne');
$mode_surligne = 'actif';
break;
case 'inactif' : // il n'y a pas de buffer
ob_start("");
ob_start('callback_surligne');
$mode_surligne = 'actif';
break;
......@@ -97,13 +103,12 @@ function debut_surligne($mots, $mode_surligne) {
}
function fin_surligne($mots, $mode_surligne) {
switch ($mode_surligne) {
case 'auto' : // on arrive du debut de la page, on s'occupe du buffer
$la_page = surligner_mots(ob_get_contents(), $mots);
ob_end_clean();
echo $la_page;
ob_start("");
ob_start('callback_surligne');
$mode_surligne = 'inactif';
break;
......
......@@ -135,8 +135,9 @@ if (!$use_cache) {
if ($var_recherche AND $flag_ob AND $flag_pcre AND !$flag_preserver AND !$mode_surligne) {
include_ecrire("inc_surligne.php3");
$mode_surligne = 'auto';
ob_start("");
} else {
ob_start('callback_surligne');
}
else {
unset ($var_recherche);
unset ($mode_surligne);
}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter