Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Maiuscoloe minuscolo Motore di ricerca

    Ciao a tutti,
    con questo file faccio una ricerca nel DB di un termine il quale mi viene vializzato in grassetto e di colore rosso.
    Il problema sorge quando il termine presente del DB non ha le stesse caratteristiche del termine ricercato Maiuscolo, Minuscolo, (esempio se cerco Micio e nel DB è presente la parola micio (tutto in minuscolo) il file mi trova il testo con la parola micio ma non la evidenzia in grassetto.
    Come fare?
    Codice PHP:
    <?
    include("../include/top_foot.inc.php");
    include(
    "config.inc.php");
    top();
    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $keys explode (","$_POST['chiave']);
    $termine $_POST['chiave'];

    foreach (
    $keys as $parola)
    {
      
    $parola trim($parola);
      if (
    $parola != ""
    $query .= "Titolo LIKE '%$parola%' OR Testo LIKE '%$parola%' OR name LIKE '%$parola%' OR "
    }
    $query .= "0";
    $query "SELECT ID, Titolo, Testo, name, surname, DATE_FORMAT(Data,'%d.%m.%Y') as data_art FROM articoli WHERE " $query;
    $result mysql_query($query$db);
    echo 
    "Chiave di ricerca: [b] $termine [/b]
    "
    ;
    $valori mysql_num_rows($result);
    echo 
    "Trovati [b]$valori[/b] risultati

    "
    ;

    while (
    $row mysql_fetch_object($result))
    {
    $ricerca=$termine;
    $Testo $row->Testo;
    $Testo=str_replace($ricerca,"<font color=RED>[B]".$ricerca."[/B]</font>",$Testo);
    $name $row->name;
    $name=str_replace($ricerca,"[B]".$ricerca."[/B]",$name);
    $surname $row->surname;
    $surname=str_replace($ricerca,"[B]".$ricerca."[/B]",$surname);
    $data_art $row->data_art;
    $Titolo$row->Titolo;
    $Titolo=str_replace($ricerca,"<font color=#FF0000>[B]".$ricerca."[/B]</font>",$Titolo);
    echo 
    "<a href=\"view.php?id=$row[ID]\">" "$data_art - " "$name " "$surname
    " - $Titolo</a>
    "
    "$Testo"."

    "

    }
    foot();
    ?>

  2. #2
    se hai php5 puoi usare str_ireplace(). Se hai php4 prova con eregi_replace()... Stessa sintassi.

    Solo che ereg_* usa le espressioni regolari ed e' meno performante di str_*


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    uso php4. primo xchè non sono ancora passato a php5 e poi xche in host ha php4

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.