Volltextsuche -Verkürzte Ausgabe der URL - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von ernst (13 Beiträge) am Donnerstag, 2.September.2004, 15:15.
    Volltextsuche -Verkürzte Ausgabe der URL

      Hallo,
      ich moechte eine Volltexsuche realisieren.
      Ich habe dazu auch einen entspr. Sourcecode hier irgendwo gefunden (danke :-)) und er funktioniert auch prinzipiell sehr gut.

      2 Probleme habe ich allerdings:

      1. Ich kann nur einen Suchbegriff eingeben

      2. Bei der Trefferanzeige (es handelt sich um ein Linkverzeichnis)
      soll auch die URL der jeweiligen Webseite angegeben werden.
      Diese sind bisweilen aber sehr lang. Ich würde sie gerne auf
      ca. 100 Zeichen begrenzen


      Der verwendete Sourcecode lautet wie folgt:

      ---------------------------------------------

      <html><head></head><body bgcolor="#f5f5f5">
      

      <!-- Suchformular -->
      <font face=verdana,arial,helvetica  size=2>
      <form action="baseportal.pl?htx=$htx" method="post" enctype="multipart/form-data">
      <input type="hidden" name="show=" value="">
      <table border="0" cellpadding="6" cellspacing="0" width="100%" bgcolor="#333399">
      <tr>
      <td>
      <font face="verdana, arial,helvetica" size="2" color="#ffffff">
      Suchbegriffe eingeben
      </font>
      </td>
      </tr>
      <tr align="left">
      <td>
      <font face="verdana, arial,helvetica" size="2">
      <input type="text" name="Such=" size="30" value="">
      <input type="submit" value="Suchen">
      </font>
      </td>
      </tr>
      </table>
      </form>
      <!-- Ende Suchformular -->
      

      <perl>
      #######
      $db="demo"; # so anpsssen, dass suche nur auf freigegebene Titel!!!!
      $link_feld="Titel"; # anpassen ! das, was als Link angezeigt werden soll
      

      # jedes zu durchsuchende Feld muß extra benannt werden !!

      $such_feld1="Autor";
      $such_feld2="Titel"; # anpassen - z.B. "Text"
      $such_feld3="Zusatz";
      $such_feld4="Jahr";
      $such_feld5="Quelle";
      $such_feld6="URL";
      # sowie ggf. weitere Felder benennen ----
      # $such_feld2="";
      # $such_feld3="";
      # $such_feld4="";
      # u.s.w.
      

      ##########
      my @Daten;
      if ($Such ne "") #falls eine Suchanfrage gestartet wurde
      #-------- und das Eingabefeld [Such] nicht leer ist
      {
      out "Ihr Suchbegriff war =<b>[$Such]</b><br>";
      my $i=0;
      #- Eingabe von ae, ue oder oe abfangen etc..---
      $mSuch = $Such;
      $mSuch =~ s/ä/Ä/g;
      $mSuch =~ s/ö/Ö/g;
      $mSuch =~ s/ü/Ü/g;
      $mSuch=lc($mSuch);
      $mSuch =~ s/ae/ä/g;
      $mSuch =~ s/oe/ö/g;
      $mSuch =~ s/ue/ü/g;
      #------------------
      

      get "Id==*", "$db";
      while(get_next($db))
      # gesucht wird z.B. in den Feldern [$such_feldx]---
      {
      if(
      (index($$such_feld1,$Such)>=0 or ($$such_feld1 =~ /$mSuch/gim))
      or (index($$such_feld2,$Such)>=0 or ($$such_feld2 =~ /$mSuch/gim))
      or (index($$such_feld3,$Such)>=0 or ($$such_feld3 =~ /$mSuch/gim))
      or (index($$such_feld4,$Such)>=0 or ($$such_feld4 =~ /$mSuch/gim))
      or (index($$such_feld5,$Such)>=0 or ($$such_feld5 =~ /$mSuch/gim))
      or (index($$such_feld6,$Such)>=0 or ($$such_feld6 =~ /$mSuch/gim))
      #- sowie ggf. weitere -----------------------------
      # or (index($$such_feld2,$Such)>=0 or ($$such_feld2 =~ /$mSuch/gim))
      # or (index($$such_feld3,$Such)>=0 or ($$such_feld3 =~ /$mSuch/gim))
      # or (index($$such_feld4,$Such)>=0 or ($$such_feld4 =~ /$mSuch/gim))
      # u.s.w.
      
      )

      {
      $i++;
      $vFelder="@such_feld";
      $Daten[$i]="$i.<a href='$_link&htx=$htx&Such=$Such&mSuch=$mSuch
      &ID=$_id'>$$link_feld</a><p>";
      #- als Link wird der Wert von [$link_feld] ausgegeben ---
      }
      }
      

      out "<table border=0 cellpadding=4 cellspacing=0><tr><td valign=top>"; # neu von mir
      out "<table border=0 cellpadding=2 cellspacing=0 width=300><tr><td bgcolor=#cccccc valign=top><font face=verdana, arial,helvetica size=2>"; # neu von mir 
      

      out "<b>Alle Treffer: $i - </b>";
      $treffer = $i > 0 ? "Bitte wählen Sie:" : "Leider KEIN Treffer";
      out "</font></td></tr>"; # neu von mir 
      out "<tr><td bgcolor=#eeeeee valign=top><font face=verdana, arial,helvetica size=2>"; # neu von mir 
      

      out "$treffer<br>";
      out "@Daten";
      #- [Vorschau] eines ausgewählten Treffers
      if($ID ne "")
      {
      

      out "</font></td></tr></table></td>"; # neu von mir

      # out "<hr>";  # neu von mir        
      

      out "<td valign=top><table border=0 cellpadding=2 cellspacing=0><tr><td>"; # neu von mir

      get "Id==!$ID","$db";
      # Teffer für jedes [such_feldx]rot markieren
      

      $$such_feld1=~ s/$Such|$mSuch/<font color=red><u>$&<\/u><\/font>/gim;
      $$such_feld2=~ s/$Such|$mSuch/<font color=red><u>$&<\/u><\/font>/gim;
      $$such_feld3=~ s/$Such|$mSuch/<font color=red><u>$&<\/u><\/font>/gim;
      $$such_feld4=~ s/$Such|$mSuch/<font color=red><u>$&<\/u><\/font>/gim;
      $$such_feld5=~ s/$Such|$mSuch/<font color=red><u>$&<\/u><\/font>/gim;
      $$such_feld6=~ s/$Such|$mSuch/<font color=red><u>$&<\/u><\/font>/gim;
      #- sowie ggf. weitere -----------------
      # $$such_feld2=~ s/$Such|$mSuch/<font color=red><u>$&<\/u><\/font>/gim;
      # $$such_feld3=~ s/$Such|$mSuch/<font color=red><u>$&<\/u><\/font>/gim;
      # $$such_feld4=~ s/$Such|$mSuch/<font color=red><u>$&<\/u><\/font>/gim;
      # u.s.w.
      

      #-Layout der Vorschau (anpassen) ---
      out "<table border=0 cellpadding=2 cellspacing=0><tr><td bgcolor=#cccccc><font size=2 face=verdana,arial,helvetica>";
      # out "<b>$$link_feld</b>";
      out "<b>Einzeltreffer</b>";
      out "</font></td></tr>";
      out "<tr><td bgcolor=#eeeeee><font size=2 face=verdana,arial,helvetica>";
      out "$$such_feld1";
      out "<br>$$such_feld2 - ";
      out "$$such_feld3";
      out ". - $$such_feld4";
      out "<br>Quelle: $$such_feld5";
      out "<br>URL: <a href=$$such_feld6  target=_new>$$such_feld6</a>";
      out "</font></td></tr></table>";
      out "</td></tr></table></td></tr></table>"; # neu von mir 
      

      #- sowie ggf. weitere ---
      # out "<br>$$such_feld2";
      # out "<br>$$such_feld3";
      # out "<br>$$such_feld4";
      # u.s.w.
      }
      }
      #######
      </perl>
      </body></html>
      

      -----------------------------------------

      Kann mir jemand sagen wo und wie ich diesen Quelltext aendern muss


      1. damit ich gleichzeitig nach mehreren Suchbegriffen suchen kann?
      2. dass bei der Trefferanzeige die URL der jeweiligen Webseite auf 100 Zeichen (die restlichen Zeichen - falls vorhande - durch "..." angedeutet)
      begrenzt wird?

      Wär ganz toll, wenn ich ne Amtwort kriegen würde :-))

      Vielen Dank im voraus & Gruesse
      Ernst


    Antworten 
 Liste der Einträge von 28501 bis 28651:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!