Ja gut, aber ich finde eine Textarea (mit Zeileneingabe) trotzdem schöner! Weißt du zufällig wie´s geht?D@nger hat gesagt.:Man muss doch garkein "UND" eingeben sondern nur z.B. Text1 Text2.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Ja gut, aber ich finde eine Textarea (mit Zeileneingabe) trotzdem schöner! Weißt du zufällig wie´s geht?D@nger hat gesagt.:Man muss doch garkein "UND" eingeben sondern nur z.B. Text1 Text2.
Jetzt verstehe ich nur Bahnhof. Liegt daran, dass ich nicht so viel von PHP verstehe...Flex hat gesagt.:In dem du die Variable die von der <textarea> übergeben bekommst, einfach mit explode() bearbeitest.
Ein Trennzeichen bei Zeilenumbrüchen wäre wohl \n .
<?php
// #####################
// ### PHP-Suche 1.3 ###
// #####################
// *********************
// *** Einstellungen ***
// *********************
// Domain-Name für die Anzeige in den Resultaten
// z.B. "http://www.gaijin.at"
$DomainName="http://".$_SERVER['SERVER_NAME'];
// Root-Verzeichnis für den Zugriff auf die Dateien am Server
// Beispiel: $RootDir=dirname("/htdocs");
$RootDir=dirname($_SERVER['SCRIPT_FILENAME']);
// Dateiname für die Protokollierung der Suchbegriffe
// (kein Dateiname zum deaktivieren der Protokollierung)
// z.B. "../../files/logs/search_words.log"
$SearchWordLog="";
// Beschreibung anzeigen ("true" für ja, "false" für nein)
$Show_Description=true;
// Teile des Inhalts anzeigen ("true" für ja, "false" für nein)
$Show_Content=true;
// Länge der Textfragmente um die Fundstellen (in Zeichen)
$Found_Piece_Len=50;
// Dateinamen anzeigen ("true" für ja, "false" für nein)
$Show_Filename=true;
// Dateigröße anzeigen ("true" für ja, "false" für nein)
$Show_Filesize=true;
// Nummer des Resultates anzeigen ("true" für ja, "false" für nein)
$Show_ResultNumber=true;
// Erlaubte Verzeichnisse als Array, getrennt mit einem Beistrich
// Z.B.: $AllowedDirs=array($RootDir,$RootDir."/hilfe",$RootDir."/infos");
$AllowedDirs=array($RootDir);
// Erlaubte Erweiterungen als Array, getrennt mit einem Beistrich
// Z.B.: $AllowedExts=array(".php",".php3",".php4",".htm",".html",".ihtml",".shtm",".shtml",".txt");
$AllowedExts=array(".php",".html",".shtml");
// Deutsche Umlaute dekodieren (dadurch wird beispielsweise "ä" zu "ä")
$Activate_Umlaut=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="Gaijin">
<meta name="publisher" content="Gaijin">
<meta name="robots" content="noindex,nofollow">
<meta http-equiv="content-language" content="de-at">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel=stylesheet type="text/css" href="search.css">
</head>
<body>
<h4>Suche</h4>
<?php
$search=FormatSearchString(stripslashes($_POST['p_search']));
?>
<table border="0" cellspacing="0" cellpadding="1"><tr><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"><td id="border3d">
<table border="0" cellspacing="0" cellpadding="5"><tr><td id="back3d">
<table border="0" cellspacing="0" cellpadding="2">
<tr><td nowrap align=right id="formtext">Suche: </td>
<td width=100%><input type="text" name="p_search" size=40 maxlength=250 value="<?php echo $search; ?>"></td></tr>
<tr><td nowrap align=right> </td>
<td width=100% id="formtext"><input type="submit" value="Suchen" name="submit"> <small>(mit UND-Verknüpfung)</small></td></tr>
</td></tr>
</table>
</td></tr></table>
</td></form></tr></table>
<small><b>PHP-Suche</b><br>Powered by <a href="http://www.gaijin.at/">www.gaijin.at</a></small><br>
<br>
<?php
if(!$search) exit;
// Protokollierung der Suchbegriffe
if(file_exists($SearchWordLog)) {
$fp=@fopen($SearchWordLog,"a");
if($fp) {
flock($fp,2);
fputs($fp,$search."\r\n",256);
flock($fp,3);
fclose($fp);
}
}
echo "<h4>Ergebnis:</h4>\n";
$files=ReadDirs($AllowedDirs,$AllowedExts);
$ResultCount=0;
if($files && $search){
foreach($files as $f){
if(SearchFile($f,$search)){
$fn=$f;
if(substr($f,0,strlen($RootDir))==$RootDir) $fn=$DomainName.substr($f,strlen($RootDir));
$ResultCount++;
if($Show_ResultNumber) echo $ResultCount.". ";
echo "<a href=\"".$fn."\"><b>".$Site_Title."</b></a><br>\n";
if($Meta_Description) echo $Meta_Description."<br>\n";
if($Site_Content) echo "<span id=small><span id=grey>".$Site_Content."</span></span><br>\n";
if($Show_Filename) echo "<span id=grey>Datei:</span> <span id=green>".$fn."</span>";
if($Show_Filesize){
if($Show_Filename) echo " - ";
echo "<span id=grey>Größe:</span> <span id=green>".round(filesize($f)/1024,2)." KB</span>";
}
if($Show_Filename || $Show_Filesize) echo "<br>";
echo "<br>\n";
}
}
clearstatcache();
}
echo "Es wurden <b>".$ResultCount."</b> Seiten gefunden.<br>\n";
echo "<p><small><b>PHP-Suche</b><br>Powered by <a href=\"http://www.gaijin.at/\">www.gaijin.at</a></small></p>\n";
function SearchFile($url,$search){
global $Show_Description;
global $Found_Piece_Len;
global $Activate_Umlaut;
global $Site_Title;
global $Site_Content;
global $Meta_Description;
global $Meta_Robots;
$Site_Title="";
$Site_Content="";
$Meta_Description="";
$Meta_Robots="";
// *** Meta-Angaben ermitteln ***
$gmtarray=get_meta_tags($url);
while(list($key,$val)=each($gmtarray)){
switch(strtolower($key)){
case "title": $Meta_Title=$val; break;
case "keywords": $Meta_Keywords=$val; break;
case "description": $Meta_Description=$val; break;
case "robots": $Meta_Robots=strtolower($val); break;
case "revisit": $Meta_Revisit=strtolower($val); break;
case "revisit-after": $Meta_RevisitAfter=strtolower($val); break;
}
}
if(!$Show_Description) $Meta_Description="";
if(eregi("noindex",$Meta_Robots)) return false;
// *** Dateiinhalt einlesen (bzw. Ausgabe bei PHP) ***
$fp=@fopen($url,"r");
if(!$fp) return false;
while(!feof($fp)){
$content.=fgets($fp,10240);
}
fclose($fp);
$content=str_replace("<?","<",$content);
$content=str_replace("?>",">",$content);
$content=trim($content);
$content=$Site_Title." ".$Meta_Title." ".$Meta_Keywords." ".$Meta_Description." ".$content;
// *** Seitentitel ermitteln ***
$Site_Title=GetSiteTitle($content);
if(!$Site_Title) $Site_Title=$Meta_Title;
if(!$Site_Title) $Site_Title=basename($url);
if(substr($content,0,strlen($Site_Title))==$Site_Title) $content=substr($content,strlen($Site_Title));
$content=strip_tags($content);
$content=str_replace("\n"," ",$content);
$content=str_replace("\r","",$content);
$sc=" ".trim($content);
while(strpos($sc," ")){
$sc=str_replace(" "," ",$sc);
}
$content=$sc;
// Deutsche Umlaute konvertieren
if($Activate_Umlaut){
$content=str_replace("ä","ä",$content);
$content=str_replace("ö","ö",$content);
$content=str_replace("ü","ü",$content);
$content=str_replace("Ä","Ä",$content);
$content=str_replace("Ö","Ö",$content);
$content=str_replace("Ü","Ü",$content);
$content=str_replace("ß","ß",$content);
}
$content=str_replace("€","€",$content);
// *** Suchen ***
$found=false;
$a=explode(" ",strtolower($search));
$lowcontent=strtolower($content);
foreach($a as $arg){
$p0=strpos($lowcontent,$arg);
if($p0>0){
$p1=$Found_Piece_Len;
$p2=$Found_Piece_Len;
if(($p0-$p1)<0) $p1=$p0;
$result_text.="...".substr($content,$p0-$p1,$p1)."<b id=red>";
$result_text.=substr($content,$p0,strlen($arg))."</b>".substr($content,$p0+strlen($arg),$p2);
$found=true;
}else{
$found=false;
break;
}
}
if(!$found) return false;
if($result_text) $result_text.="...";
$Site_Content=$result_text;
return true;
}
function FormatSearchString($search){
$chars=".:-_,;!§$%&/()=#+*~'?\[|]{^°}²³µ@€ äöüß1234567890abcdefghijklmnopqrstuvwxyz";
for($i=0;$i<strlen($search);$i++){
$a=substr($search,$i,1);
if(stristr($chars,$a)) $s.=$a;
}
while(strpos($s," ")){
$s=str_replace(" "," ",$s);
}
return trim($s);
}
function ReadDirs($DirArray,$ExtArray){
$fileArray=array();
foreach($DirArray as $d){
if($hDir = opendir($d)){
while($file=readdir($hDir)){
if(!is_dir($d."/".$file)){
// *** .*-Dateien (zB .htaccess) ignorieren ***
if(substr($file,0,1)!="."){
foreach($ExtArray as $ext){
if(substr(strtolower($file),strlen($file)-strlen($ext),strlen($ext))==strtolower($ext)){
array_push($fileArray,$d."/".$file);
continue;
}
}
}
}
}
closedir($hDir);
}
}
return $fileArray;
}
function GetSiteTitle($content)
{
$p1=strpos(strtolower($content),"<title>");
if(!$p1) return false;
$p2=strpos(strtolower($content),"</title>",$p1);
if(!$p2) return false;
return trim(substr($content,$p1+7,$p2-$p1-7));
}
?>
</body>
</html>
<?php
// #####################
// ### PHP-Suche 1.3 ###
// #####################
// *********************
// *** Einstellungen ***
// *********************
// Domain-Name für die Anzeige in den Resultaten
// z.B. "http://www.gaijin.at"
$DomainName="http://".$_SERVER['SERVER_NAME'];
// Root-Verzeichnis für den Zugriff auf die Dateien am Server
// Beispiel: $RootDir=dirname("/htdocs");
$RootDir=dirname($_SERVER['SCRIPT_FILENAME']);
// Dateiname für die Protokollierung der Suchbegriffe
// (kein Dateiname zum deaktivieren der Protokollierung)
// z.B. "../../files/logs/search_words.log"
$SearchWordLog="";
// Beschreibung anzeigen ("true" für ja, "false" für nein)
$Show_Description=true;
// Teile des Inhalts anzeigen ("true" für ja, "false" für nein)
$Show_Content=true;
// Länge der Textfragmente um die Fundstellen (in Zeichen)
$Found_Piece_Len=50;
// Dateinamen anzeigen ("true" für ja, "false" für nein)
$Show_Filename=true;
// Dateigröße anzeigen ("true" für ja, "false" für nein)
$Show_Filesize=true;
// Nummer des Resultates anzeigen ("true" für ja, "false" für nein)
$Show_ResultNumber=true;
// Erlaubte Verzeichnisse als Array, getrennt mit einem Beistrich
// Z.B.: $AllowedDirs=array($RootDir,$RootDir."/hilfe",$RootDir."/infos");
$AllowedDirs=array($RootDir);
// Erlaubte Erweiterungen als Array, getrennt mit einem Beistrich
// Z.B.: $AllowedExts=array(".php",".php3",".php4",".htm",".html",".ihtml",".shtm",".shtml",".txt");
$AllowedExts=array(".php",".html",".shtml",".txt");
// Deutsche Umlaute dekodieren (dadurch wird beispielsweise "ä" zu "ä")
$Activate_Umlaut=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="Gaijin">
<meta name="publisher" content="Gaijin">
<meta name="robots" content="noindex,nofollow">
<meta http-equiv="content-language" content="de-at">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel=stylesheet type="text/css" href="search.css">
</head>
<body>
<h4>Suche</h4>
<table border="0" cellspacing="0" cellpadding="1"><tr><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"><td id="border3d">
<table border="0" cellspacing="0" cellpadding="5"><tr><td id="back3d">
<table border="0" cellspacing="0" cellpadding="2">
<tr><td nowrap align=right id="formtext">Suche: </td>
<td width=100%><textarea name="p_search"><?php echo stripslashes($_POST['p_search']); ?></textarea></td></tr>
<tr><td nowrap align=right> </td>
<td width=100% id="formtext"><input type="submit" value="Suchen" name="submit"> <small>(mit UND-Verknüpfung)</small></td></tr>
</td></tr>
</table>
</td></tr></table>
</td></form></tr></table>
<small><b>PHP-Suche</b><br>Powered by <a href="http://www.gaijin.at/">www.gaijin.at</a></small><br>
<br>
<?php
$temp = explode("\n",$_POST['p_search']);
for($i = 0; $i < count($temp); $i++) {
$search=FormatSearchString(stripslashes($temp[$i]));
if(!$search) exit;
// Protokollierung der Suchbegriffe
if(file_exists($SearchWordLog)) {
$fp=@fopen($SearchWordLog,"a");
if($fp) {
flock($fp,2);
fputs($fp,$search."\r\n",256);
flock($fp,3);
fclose($fp);
}
}
echo "<h4>Ergebnis:</h4>\n";
$files=ReadDirs($AllowedDirs,$AllowedExts);
$ResultCount=0;
if($files && $search){
foreach($files as $f){
if(SearchFile($f,$search)){
$fn=$f;
if(substr($f,0,strlen($RootDir))==$RootDir) $fn=$DomainName.substr($f,strlen($RootDir));
$ResultCount++;
if($Show_ResultNumber) echo $ResultCount.". ";
echo "<a href=\"".$fn."\"><b>".$Site_Title."</b></a><br>\n";
if($Meta_Description) echo $Meta_Description."<br>\n";
if($Site_Content) echo "<span id=small><span id=grey>".$Site_Content."</span></span><br>\n";
if($Show_Filename) echo "<span id=grey>Datei:</span> <span id=green>".$fn."</span>";
if($Show_Filesize){
if($Show_Filename) echo " - ";
echo "<span id=grey>Größe:</span> <span id=green>".round(filesize($f)/1024,2)." KB</span>";
}
if($Show_Filename || $Show_Filesize) echo "<br>";
echo "<br>\n";
}
}
clearstatcache();
}
echo "Es wurden <b>".$ResultCount."</b> Seiten gefunden.<br>\n";
echo "<p><small><b>PHP-Suche</b><br>Powered by <a href=\"http://www.gaijin.at/\">www.gaijin.at</a></small></p>\n";
}
function SearchFile($url,$search){
global $Show_Description;
global $Found_Piece_Len;
global $Activate_Umlaut;
global $Site_Title;
global $Site_Content;
global $Meta_Description;
global $Meta_Robots;
$Site_Title="";
$Site_Content="";
$Meta_Description="";
$Meta_Robots="";
// *** Meta-Angaben ermitteln ***
$gmtarray=get_meta_tags($url);
while(list($key,$val)=each($gmtarray)){
switch(strtolower($key)){
case "title": $Meta_Title=$val; break;
case "keywords": $Meta_Keywords=$val; break;
case "description": $Meta_Description=$val; break;
case "robots": $Meta_Robots=strtolower($val); break;
case "revisit": $Meta_Revisit=strtolower($val); break;
case "revisit-after": $Meta_RevisitAfter=strtolower($val); break;
}
}
if(!$Show_Description) $Meta_Description="";
if(eregi("noindex",$Meta_Robots)) return false;
// *** Dateiinhalt einlesen (bzw. Ausgabe bei PHP) ***
$fp=@fopen($url,"r");
if(!$fp) return false;
while(!feof($fp)){
$content.=fgets($fp,10240);
}
fclose($fp);
$content=str_replace("<?","<",$content);
$content=str_replace("?>",">",$content);
$content=trim($content);
$content=$Site_Title." ".$Meta_Title." ".$Meta_Keywords." ".$Meta_Description." ".$content;
// *** Seitentitel ermitteln ***
$Site_Title=GetSiteTitle($content);
if(!$Site_Title) $Site_Title=$Meta_Title;
if(!$Site_Title) $Site_Title=basename($url);
if(substr($content,0,strlen($Site_Title))==$Site_Title) $content=substr($content,strlen($Site_Title));
$content=strip_tags($content);
$content=str_replace("\n"," ",$content);
$content=str_replace("\r","",$content);
$sc=" ".trim($content);
while(strpos($sc," ")){
$sc=str_replace(" "," ",$sc);
}
$content=$sc;
// Deutsche Umlaute konvertieren
if($Activate_Umlaut){
$content=str_replace("ä","ä",$content);
$content=str_replace("ö","ö",$content);
$content=str_replace("ü","ü",$content);
$content=str_replace("Ä","Ä",$content);
$content=str_replace("Ö","Ö",$content);
$content=str_replace("Ü","Ü",$content);
$content=str_replace("ß","ß",$content);
}
$content=str_replace("€","€",$content);
// *** Suchen ***
$found=false;
$a=explode(" ",strtolower($search));
$lowcontent=strtolower($content);
foreach($a as $arg){
$p0=strpos($lowcontent,$arg);
if($p0>0){
$p1=$Found_Piece_Len;
$p2=$Found_Piece_Len;
if(($p0-$p1)<0) $p1=$p0;
$result_text.="...".substr($content,$p0-$p1,$p1)."<b id=red>";
$result_text.=substr($content,$p0,strlen($arg))."</b>".substr($content,$p0+strlen($arg),$p2);
$found=true;
}else{
$found=false;
break;
}
}
if(!$found) return false;
if($result_text) $result_text.="...";
$Site_Content=$result_text;
return true;
}
function FormatSearchString($search){
$chars=".:-_,;!§$%&/()=#+*~'?\[|]{^°}²³µ@€ äöüß1234567890abcdefghijklmnopqrstuvwxyz";
for($i=0;$i<strlen($search);$i++){
$a=substr($search,$i,1);
if(stristr($chars,$a)) $s.=$a;
}
while(strpos($s," ")){
$s=str_replace(" "," ",$s);
}
return trim($s);
}
function ReadDirs($DirArray,$ExtArray){
$fileArray=array();
foreach($DirArray as $d){
if($hDir = opendir($d)){
while($file=readdir($hDir)){
if(!is_dir($d."/".$file)){
// *** .*-Dateien (zB .htaccess) ignorieren ***
if(substr($file,0,1)!="."){
foreach($ExtArray as $ext){
if(substr(strtolower($file),strlen($file)-strlen($ext),strlen($ext))==strtolower($ext)){
array_push($fileArray,$d."/".$file);
continue;
}
}
}
}
}
closedir($hDir);
}
}
return $fileArray;
}
function GetSiteTitle($content)
{
$p1=strpos(strtolower($content),"<title>");
if(!$p1) return false;
$p2=strpos(strtolower($content),"</title>",$p1);
if(!$p2) return false;
return trim(substr($content,$p1+7,$p2-$p1-7));
}
?>
</body>
</html>
Flex hat gesagt.:Naja, es ist wahrscheinlich extrem ressourcenfressend so wie ich es jetzt löse, aber ich habe keine wirkliche Motivation mich da hineinzuarbeiten und vielleicht bist du ja über eine schlechte Lösung glücklicher als über gar keine.
Funktioniert, gibt allerdings für jedes Suchwort eine eigene Ergebnisanzeige aus...
Ja, aber wir sehen uns ja hier eher als eine Art Hilfe zur SelbsthilfeFleck06 hat gesagt.:Hm... Danke für deine Mühe! Aber das bringts ja nicht wirklich. Es soll schon so sein, dass Seiten angezeigt werden, die halt die eingegebenen Suchbegriffe enthalten...
<!--Die Datei index.php -->
<!--HTML-Code-->
<table>
<tr>
<td>
<a href="index.php?path=seite1">Zur Seite 1</a>
<a href="index.php?path=seite2">Zur Seite 2</a>
</td>
<td>
<!--PHP-Code-->
<?php
if (isset($_GET['path'])) {
switch($_GET['path']) {
case 'seite1':
include 'phpsites/seite1.php';
break;
case 'seite2':
include 'phpsites/seite2.php';
break;
}
}
?>
<!--EndePHP-Code-->
</td>
</tr>
</table>