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.
$eingabe = "Startseite"; // Erfolg in der Realität vom Nutzer
$directory = "./dateien/";
$handle = opendir($directory);
$i=0;
while ($file_name = readdir ($handle))
{
$file = $directory.$file_name;
if (is_file($file))
{
$fd = fopen($file,"r");
$content = fread($fd, filesize($file));
fclose ($fd);
// Titel aus der Datein hohlen
preg_match('#<h1>.*?</h1>#', $content, $titel);
// Prüfen ob das gesuchte Wort vorhanden ist
if (strstr($content,$eingabe))
{
$array[$i]['title'] = strip_tags($titel[0]);
$array[$i]['text'] = strip_tags($content);
$array[$i]['pfad'] = 'http://localhost/test/'.$file_name;
$i++;
}
}
}
<h1>Startseite</h1>
<p>Dies ist eine dumme kleine Testseite.</p
Array
(
[0] => Array
(
[title] => Seite 1
[text] => Ich diesem Text kommt das Wort Startseite vor ;)
[pfad] => http://localhost/test/error_404.html
[gewichtung] 2
)
[1] => Array
(
[title] => Startseite
[text] => Hier komm das Wort nicht vor aber im Titel
[pfad] => http://localhost/test/index.html
[gewichtung] 10
)
)
if (isset($Titel) AND isset($Text)) {
$Array12 = Inhalte
// 12 = Gewichtung, da Treffer im Titel und Text
} elseif (!isset($Titel) AND isset($Text)) {
$Array2 = Inhalte
// 2 = Gewichtung, da Treffer nur im Text
} ...
} else {
// Trift gar nichts zu, dann brauchen wir das auch nicht
}
Anhand Deines File Beispiels würde ich Zeile 1 und den Rest getrennt behandeln.
Und um die Punkte bestimmen zu können noch einen Vergleich einfügen.
Die Gewichtung dürfte ja dann 12 sein, wenn ein Treffer im Titel und im Text vorliegt.
Im Grunde würde ich verschiedene Arrays verwenden, für die verschiedenen Gewichtungen (Mögliche Punktzahlen)
so ist es beim Verbinden der arrays dann auch gleich nach Gewichtung sortiert.
<?php
$eingabe = "Startseite"; // Erfolg in der relität von Nutzer
$directory = "./dateien/";
$handle = opendir($directory);
$i=0;
while ($file_name = readdir ($handle))
{
$file = $directory.$file_name;
if (is_file($file))
{
$fd = fopen($file,"r");
$content = fread($fd, filesize($file));
fclose ($fd);
// Titel aus der Datein hohlen
preg_match('#<h1>.*?</h1>#', $content, $titel);
// Prüfen ob das gesuchte Wort vorhanden ist
if (strstr($content,$eingabe))
{
$array[$i]['title'] = strip_tags($titel[0]);
$array[$i]['text'] = strip_tags($content);
$array[$i]['pfad'] = 'http://localhost/test/'.$file_name;
$array[$i]['relevanz'] = 0;
$array[$i]['relevanz'] = $array[$i]['relevanz'] + (5*(substr_count($title[0],$eingabe)));
$array[$i]['relevanz'] = $array[$i]['relevanz'] + (2*(substr_count($array[$i]['text'],$eingabe)));
$array[$i]['relevanz'] = $array[$i]['relevanz'] + (2*(substr_count($array[$i]['pfad'],$eingabe)));
$i++;
}
}
}
echo '<pre>';
print_r($array);
?>
Array
(
[0] => Array
(
[title] => Error 404
[text] => Error 404
Diese Seite konnte nicht gefunden werden.
Sind sie sicher das Sie sich nicht vertippt haben? Gucken Sie doch bitte in Ihrer Adresszeile nach ob die
angeforderte Adresse stimmt.
Wenn Sie durch einen Link auf dieser Webseite hier hin gekommen sind, so melden Sie sich doch bitte
per Kontaktformular beim Webmaster.
Was wollen Sie nun tuen?
Zur Startseite
Zum Kontaktformular
[pfad] => http://localhost/test/error_404.html
[relevanz] => 2
)
[1] => Array
(
[title] => Startseite
[text] => Startseite
Willkommen auf meiner kleinen Webseite.
Ich habe diese Seite erstellt um eine Kostprobe meines Könnens im Breich der Programmierung und des Webdesigns darzubieten.
[pfad] => http://localhost/test/index.html
[relevanz] => 2
)
)
<?php
$eingabe = "Startseite"; // Erfolg in der relität von Nutzer
$regex = '/'.$eingabe.'/S';
$directory = "./dateien/";
$handle = opendir($directory);
while ($file_name = readdir ($handle)) {
$file = $directory.$file_name;
if (is_file($file)) {
$fd = fopen($file,"r");
$content = fread($fd, filesize($file));
fclose ($fd);
$Inhalt = explode ("</h1>", $content);
$Inhalt['0'] = strip_tags($Inhalt['0']);
$Inhalt['1'] = strip_tags($Inhalt['1']);
if ($Inhalt['0']==$eingabe) { $Titel=''; }
$ZW = explode ("$eingabe", $Inhalt['1']);
if (count($ZW)>0) { $Text=''; }
if (isset($Titel) AND isset($Text)) {
$Array12[]= $file;
} elseif (!isset($Titel) AND isset($Text)) {
$Array2[]= $file;
} elseif (isset($Titel) AND !isset($Text)) {
$Array10[]= $file;
}
}
unset($Titel,$Text);
}
?>