Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

PHP suche - suchresultate in einem neuen fenster anzeigen?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
croxxx69
PostRank 4
PostRank 4
Beiträge: 190
Registriert: 08.10.2008, 15:13

Beitrag von croxxx69 » 10.11.2009, 19:55

hallo,

wollte die google suche (fuer die eigene seite) nicht auf meine seite installieren weil die sehr unuebersichtlich ist, darum habe ich diese suche gefunden:

Code: Alles auswählen

<?php
// Domain-Name für die Anzeige in den Resultaten
$DomainName = "http&#58;//".GetParam&#40;"SERVER_NAME", "S"&#41;;

// Root-Verzeichnis für den Zugriff auf die Dateien am Server
// Beispiel&#58; $RootDir=dirname&#40;"/htdocs"&#41;;
$RootDir = dirname&#40;GetParam&#40;"SCRIPT_FILENAME", "S"&#41;&#41;;

// Dateiname für die Protokollierung der Suchbegriffe
// &#40;kein Dateiname zum deaktivieren der Protokollierung&#41;
// z.B. "../../files/logs/search_words.log"
$SearchWordLog = "";

// Länge der Textfragmente um die Fundstellen &#40;in Zeichen&#41;
$Found_Piece_Len = 50;

// Erlaubtes Verzeichnis
// Z.B.&#58; $AllowedDirs = $RootDir."/content";
$AllowedDir = $RootDir;

// Erlaubte Erweiterungen als Array, getrennt mit einem Beistrich
// Z.B.&#58; $AllowedExts=array&#40;".php",".php3",".php4",".htm",".html",".ihtml",".shtm",".shtml",".txt"&#41;;
$AllowedExts = array&#40;".php",".html",".shtml"&#41;;

// Deutsche Umlaute dekodieren &#40;dadurch wird beispielsweise "&auml;" zu "ä"&#41;
$ActivateUmlaut = true;

// Links zu den gefundenen Seiten in einem neuen Tab/Fenster öffnen
$LinkTargetBlank = true;

// *****************************************************************************

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Suche</title>

<meta name="title" content="Suche">
<meta name="author" content="Werner Rumpeltesz">
<meta name="robots" content="noindex,nofollow">
<meta http-equiv="content-language" content="de-at">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel=stylesheet type="text/css" href="search.css">

</head>
<body>



<h4>Tražilica</h4>

<?php
  $SearchTerm = FormatSearchString&#40;stripslashes&#40;GetParam&#40;"q", "P"&#41;&#41;&#41;;
  if &#40;!$SearchTerm&#41; $SearchTerm = FormatSearchString&#40;stripslashes&#40;GetParam&#40;"q", "G"&#41;&#41;&#41;;
?>

<table border=0 cellspacing=0 cellpadding=0><tr><td>
<form class=formbox action="<?php echo GetParam&#40;"PHP_SELF", "S"&#41;; ?>" method="post">
<table border=0 cellspacing=0 cellpadding=1>
<tr>
  <td class=formfield nowrap>Traži&#58;&nbsp;</td><td><input type="text" name="q" size=40 maxlength=250 value="<?=$SearchTerm?>"></td></tr>
<tr><td></td><td class=formfield><input type="submit" value="Prona&#273;i" name="submit"></td></tr>
</table>
</form>
</td></tr></table>

<br>

<?php

if&#40;$SearchTerm&#41;&#123;
  // Protokollierung der Suchbegriffe
  if&#40;file_exists&#40;$SearchWordLog&#41;&#41; &#123;
    $fp=@fopen&#40;$SearchWordLog,"a"&#41;;
    if&#40;$fp&#41; &#123;
      flock&#40;$fp,2&#41;;
      fputs&#40;$fp,$SearchTerm."\r\n",256&#41;;
      flock&#40;$fp,3&#41;;
      fclose&#40;$fp&#41;;
    &#125;
  &#125;

  echo "<h4>Rezultati</h4>\n";

  $files=ReadDirs&#40;$AllowedDir,$AllowedExts&#41;;

  $ResultCount=0;
  if&#40;$files && $SearchTerm&#41;&#123;
    foreach&#40;$files as $f&#41;&#123;
      if&#40;SearchFile&#40;$f,$SearchTerm&#41;&#41;&#123;
        $fn=$f;
        if&#40;substr&#40;$f,0,strlen&#40;$RootDir&#41;&#41;==$RootDir&#41; $fn=$DomainName.substr&#40;$f,strlen&#40;$RootDir&#41;&#41;;
        $ResultCount++;
        echo $ResultCount.". ";
        echo '<a href="'.$fn.'"';
        if &#40;$LinkTargetBlank&#41; echo ' target="_blank"';
        echo "><b>".$Site_Title."</b></a><br>\n";
        if&#40;$Meta_Description&#41; echo $Meta_Description."<br>\n";
        echo "<span class=small><span class=grey>".$Site_Content."</span></span><br>\n";
        echo "<span class=grey>Datei&#58;</span> <span class=green>".$fn."</span>";
        echo " - ";
        echo "<span class=grey>Größe&#58;</span> <span class=green>".round&#40;filesize&#40;$f&#41;/1024,2&#41;." KB</span>";
        echo "<br>";
        echo "<br>\n";
      &#125;
    &#125;
    clearstatcache&#40;&#41;;
  &#125;
  echo "Prona&#273;eni su&#58; <b>".$ResultCount."</b> stranica.<br>\n";
&#125;

function SearchFile&#40;$url,$search&#41;&#123;
  global $Found_Piece_Len;
  global $ActivateUmlaut;
  global $RootDir;
  global $DomainName;

  global $Site_Title;
  global $Meta_Title;
  global $Site_Content;
  global $Meta_Description;
  global $Meta_Robots;

  $Site_Title="";
  $Meta_Title="";
  $Meta_Keywords="";
  $Site_Content="";
  $Meta_Description="";
  $Meta_Robots="";

  // *** Meta-Angaben ermitteln ***
  $gmtarray=get_meta_tags&#40;$url&#41;;
  while&#40;list&#40;$key,$val&#41;=each&#40;$gmtarray&#41;&#41;&#123;
    switch&#40;strtolower&#40;$key&#41;&#41;&#123;
      case "title"&#58; $Meta_Title=$val; break;
      case "keywords"&#58; $Meta_Keywords=$val; break;
      case "description"&#58; $Meta_Description=$val; break;
      case "robots"&#58; $Meta_Robots=strtolower&#40;$val&#41;; break;
      case "revisit"&#58; $Meta_Revisit=strtolower&#40;$val&#41;; break;
      case "revisit-after"&#58; $Meta_RevisitAfter=strtolower&#40;$val&#41;; break;
    &#125;
  &#125;
  $Meta_Description="";

  // *** Dateiinhalt einlesen &#40;bzw. Ausgabe bei PHP&#41; ***
  $fp=@fopen&#40;$url,"r"&#41;;
  if&#40;!$fp&#41; return false;
  $content="";
  while&#40;!feof&#40;$fp&#41;&#41;&#123;
    $content.=fgets&#40;$fp,10240&#41;;
  &#125;
  fclose&#40;$fp&#41;;
  
  $content = preg_replace&#40;"/<\?.*?\?>/s", "", $content&#41;;

  $content = $Meta_Title." ".$Meta_Keywords." ".$Meta_Description." ".trim&#40;$content&#41;;

  // *** Seitentitel ermitteln ***
  $Site_Title = GetSiteTitle&#40;$content&#41;;
  if&#40;!$Site_Title&#41; $Site_Title = $Meta_Title;
  if&#40;!$Site_Title&#41; $Site_Title = basename&#40;$url&#41;;

  if &#40;substr&#40;$content, 0, strlen&#40;$Site_Title&#41;&#41; == $Site_Title&#41; $content = substr&#40;$content, strlen&#40;$Site_Title&#41;&#41;;

  $content = strip_tags&#40;$content&#41;;
  $content = str_replace&#40;"\n", " ", $content&#41;;
  $content = str_replace&#40;"\r", "", $content&#41;;
  $sc = " ".trim&#40;$content&#41;;

  while&#40;strpos&#40;$sc,"  "&#41;&#41;&#123;
    $sc=str_replace&#40;"  "," ",$sc&#41;;
  &#125;
  $content=$sc;

  // Deutsche Umlaute konvertieren
  if&#40;$ActivateUmlaut&#41;&#123;
    $content=str_replace&#40;"&auml;","ä",$content&#41;;
    $content=str_replace&#40;"&ouml;","ö",$content&#41;;
    $content=str_replace&#40;"&uuml;","ü",$content&#41;;
    $content=str_replace&#40;"&Auml;","Ä",$content&#41;;
    $content=str_replace&#40;"&Ouml;","Ö",$content&#41;;
    $content=str_replace&#40;"&Uuml;","Ü",$content&#41;;
    $content=str_replace&#40;"&szlig;","ß",$content&#41;;
  &#125;
  $content=str_replace&#40;"&euro;","€",$content&#41;;
  $content=str_replace&#40;"&nbsp;"," ",$content&#41;;

  // *** Suchen ***
  $found=false;
  $a=explode&#40;" ",strtolower&#40;$search&#41;&#41;;
  $lowcontent=strtolower&#40;$content&#41;;
  $result_text="";
  foreach&#40;$a as $arg&#41;&#123;
    $p0=strpos&#40;$lowcontent,$arg&#41;;
    if&#40;$p0>0&#41;&#123;
      $p1=$Found_Piece_Len;
      $p2=$Found_Piece_Len;
      if &#40;&#40;$p0-$p1&#41; < 0&#41; $p1=$p0;
      $result_text.="...".substr&#40;$content,$p0-$p1,$p1&#41;."<b class=red>";
      $result_text.=substr&#40;$content,$p0,strlen&#40;$arg&#41;&#41;."</b>".substr&#40;$content,$p0+strlen&#40;$arg&#41;,$p2&#41;;
      $found=true;
    &#125;else&#123;
      $found=false;
      break;
    &#125;
  &#125;

  if&#40;!$found&#41; return false;
  if&#40;$result_text&#41; $result_text.="...";

  $Site_Content=$result_text;

  return true;
&#125;

function FormatSearchString&#40;$search&#41;&#123;
  $chars=".&#58;-_,;!§$%&/&#40;&#41;=#+*~'?\&#91;|&#93;&#123;^°&#125;²³µ@€ š&#273;ž&#263;&#269;äöüß1234567890abcdefghijklmnopqrstuvwxyz";
  $s="";
  for&#40;$i=0;$i<strlen&#40;$search&#41;;$i++&#41;&#123;
    $a=substr&#40;$search,$i,1&#41;;
    if&#40;stristr&#40;$chars,$a&#41;&#41; $s.=$a;
  &#125;
  while&#40;strpos&#40;$s,"  "&#41;&#41;&#123;
    $s=str_replace&#40;"  "," ",$s&#41;;
  &#125;
  return trim&#40;$s&#41;;
&#125;

function ReadDirs&#40;$d,$ExtArray&#41;&#123;
  $fileArray=array&#40;&#41;;
  if&#40;$hDir = opendir&#40;$d&#41;&#41;&#123;
    while&#40;$file=readdir&#40;$hDir&#41;&#41;&#123;
      if&#40;!is_dir&#40;$d."/".$file&#41;&#41;&#123;
        // *** .*-Dateien &#40;zB .htaccess&#41; ignorieren ***
        if&#40;substr&#40;$file,0,1&#41;!="."&#41;&#123;
              foreach&#40;$ExtArray as $ext&#41;&#123;
                if&#40;substr&#40;strtolower&#40;$file&#41;,strlen&#40;$file&#41;-strlen&#40;$ext&#41;,strlen&#40;$ext&#41;&#41;==strtolower&#40;$ext&#41;&#41;&#123;
                    array_push&#40;$fileArray,$d."/".$file&#41;;
                    continue;
                &#125;
              &#125;
          &#125;
      &#125;
    &#125;
    closedir&#40;$hDir&#41;;
  &#125;
  return $fileArray;
&#125;

function GetSiteTitle&#40;$content&#41;
&#123;
  $p1=strpos&#40;strtolower&#40;$content&#41;,"<title>"&#41;;
  if&#40;!$p1&#41; return false;
  $p2=strpos&#40;strtolower&#40;$content&#41;,"</title>",$p1&#41;;
  if&#40;!$p2&#41; return false;
  return trim&#40;substr&#40;$content,$p1+7,$p2-$p1-7&#41;&#41;;
&#125;

function GetParam&#40;$ParamName, $Method = "P", $DefaultValue = ""&#41; &#123;
  if &#40;$Method == "P"&#41; &#123;
    if &#40;isset&#40;$_POST&#91;$ParamName&#93;&#41;&#41; return $_POST&#91;$ParamName&#93;; else return $DefaultValue;
  &#125; else if &#40;$Method == "G"&#41; &#123;
    if &#40;isset&#40;$_GET&#91;$ParamName&#93;&#41;&#41; return $_GET&#91;$ParamName&#93;; else return $DefaultValue;
  &#125; else if &#40;$Method == "S"&#41; &#123;
    if &#40;isset&#40;$_SERVER&#91;$ParamName&#93;&#41;&#41; return $_SERVER&#91;$ParamName&#93;; else return $DefaultValue;
  &#125;
&#125;

?>



</body>
</html>
eigentlich ganz ok, nur leider oeffnet mir die suche im selben fenster die ergebnisse, was mir leider nicht gefaellt... wie kann ich dies aendern?


lg!

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

SloMo
PostRank 10
PostRank 10
Beiträge: 4880
Registriert: 04.01.2005, 18:26

Beitrag von SloMo » 10.11.2009, 23:02

<form class=formbox action="<?php echo GetParam("PHP_SELF", "S"); ?>" method="post" target="_blank">

croxxx69
PostRank 4
PostRank 4
Beiträge: 190
Registriert: 08.10.2008, 15:13

Beitrag von croxxx69 » 11.11.2009, 14:58

geht leider nicht... es oeffnet sich eine neue seite... aber nichts geschieht...

sagen wir mal ich moechte die ergebnisse auf der seite ergebnisse.html oeffnen... kann man das irgendwie?