Bonjour à tous,
Aujourd'hui j'ai un site mis en ligne sous free. Tandis que le moteur de recherche interne en php marchait sous wamp, sous free plus rien ne marche:
Exemple:
http://thebancom.free.fr/index.php?p=search&q=twitter
Avec comme message d'erreur: Fatal error: Call to undefined function: str_ireplace() in /mnt/104/sda/3/0/thebancom/pgs/search.php on line 40

Y'a t-il un moyen de contourner ce problème ?
Voici le script:

<?php 
echo "<a href=\"index.php\">Index</a><br/><br/>";
    require "pgs/confignews.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
mysql_query("SET NAMES 'utf8'");
    $q=$_GET'q'];
    $s=explode(" ", $q);
    $sql="SELECT * FROM news";
    $i=0;
    foreach($s as $mot){
        if(strlen($mot)>3){
            if($i==0){
                $sql.=" WHERE ";
            }
                else{
                    $sql.=" OR ";
                }
                $sql.="contenu LIKE '% $mot %'";
                $i++;
        }
    }

    $req= mysql_query($sql) or die('Erreur SQL!<br>'.$sql.'<br>'.mysql_error());
    echo mysql_num_rows($req)." <span class=\"ita\">Résultats</span>";
    while($data=mysql_fetch_assoc($req)){
        echo "<div class=\"post\"><div class=\"titre-post\"><h2>{$data"titre"]}</h2></div>";
        $c=$data"contenu"];
        $i=0;
        foreach ($s as $mot) {
            if(strlen($mot)>3){
                $i++;
                if($i>4){$i=1;}
                $c = str_ireplace($mot, '<span class="underline'.$i.'">'.$mot.'</span>', $c);
            }
        }
        echo "<div class=\"content-post\"><p>{$c}</div><div class=\"clear\"></div></div>"; 

    }
?>
</body>
</html>

1 réponse


str_ireplace => str_replace