 | Sie betrachten gerade: such-script von Planet Concept
|  | |
21.12.2009, 11:46
| such-script von Planet Concept
#1 | | Erfahrener Benutzer
Registriert seit: 24.10.2008 Ort: Marktoberdorf
Beiträge: 149
| such-script von Planet Concept
Hallo, ich weiß nicht, obs jemand kennt, aber ich verwende auf meiner Homepage das Suchscript von der Firma Planet Concept. Funktioniert auch bestens, nur dass auf der Suchergebnis Seite, die links zwar dargestellt werden, also zu den seiten, die gefunden wurden, aber der link immer zu der seite /[SEARCH_LINK] geht, wie kann ich das machen, dass der richtige link auf der seite kommt.?
mfg
Alex
wer nicht weiß was ich mein, kanns gerne ausprobieren www.minis-mod.de/magnus_neu
bei der suche einfach mal z. B. 1974 eingeben
|
22.12.2009, 07:03
| such-script von Planet Concept
#2 | | Erfahrener Benutzer
Registriert seit: 05.07.2007 Ort: Schweiz
Beiträge: 1.601
| AW: such-script von Planet Concept
das scheint ein script fehler zu sein. Zeigst du uns mal den code?
Darf man diesen überhaupt verändern?
|
22.12.2009, 09:34
| such-script von Planet Concept
#3 | | Erfahrener Benutzer Themenstarter
Registriert seit: 24.10.2008 Ort: Marktoberdorf
Beiträge: 149
| AW: such-script von Planet Concept PHP-Code: ############################# include ('./inc/config.inc.php'); ############################# $root_dir = $_SERVER['DOCUMENT_ROOT'].$from_dir.'/';
@setlocale(LC_ALL, 'de_DE', 'deu_deu');
$_GET = array_map('strip_tags', $_GET); $_POST = array_map('strip_tags', $_POST);
# Suchbegriff(e) übernehmen und umwandeln if (isset($_POST['search_exp'])) $search_exp = $_POST['search_exp']; if (isset($_POST['exp_capital'])) $exp_capital = $_POST['exp_capital']; if (isset($_POST['exp_full'])) $exp_full = $_POST['exp_full'];
############################# #Prüfen, ob ein Suchbegriff eingegeben wurde
if (!empty($search_exp) || !empty($_GET['search_exp'])) {
if (!empty($_GET['search_exp'])) { $search_exp = $_GET['search_exp']; }
# Sonderzeichen entfernen $frrepl = array("=\+=", "=\*=", "=\s+="); $torepl = array("", "", " "); $search_exp = preg_replace( $frrepl, $torepl, $search_exp); $search_exp = trim($search_exp);
# Zeichenanzahl des Suchbgeriffes prüfen if (strlen($search_exp) < $sexp_length) { // Template laden $tmpl = join('', file('./tmpl/search_error.htm')); $tmpl = str_replace('[search_error_count]', $error_count, $tmpl); $tmpl = str_replace('[search_error_empty]', '', $tmpl); echo $tmpl; } else {
$search_exp = stripslashes($search_exp);
// Suchstring zerlegen preg_match_all('/\"([^\"]+)\"|([^\s]+)/', $search_exp, $parts);
// Array mit Suchbegriffen aufbauen foreach ($parts[0] as $n => $part) { if (trim($parts[1][$n]) !== '') { $parts[0][$n] = trim($parts[1][$n]); } }
$search_arr = $parts[0];
$search_count = count($search_arr);
# "Dummy"-Array für Such-Array erzeugen $arr = array(); $arr_all = array();
# Template laden $tmpl = join('', file('./tmpl/search_result.htm'));
# Bereich der Trefferanzeige aus dem Template ziehen preg_match_all("=\[SEARCH_START\](.*)\[SEARCH_STOP\]=siU", $tmpl, $between);
$search_pages = 0;
// Verzeichnisdurchlauf starten if (count($search_dir) == 0) { $cont_part = walk_dir($root_dir, 0); } else { foreach ($search_dir as $dir) { $cont_part = walk_dir($root_dir.$dir.'/', 0); } // Root durchsuchen, wenn ausgewählt if ($search_rootdir == '1') $cont_part = walk_dir($root_dir, 1); }
$search_pages = count($cont_part); // Anzahl der Trefferseiten
######################### # Kategorien und Sortierung $GLOBALS['categories'] = $categories; $GLOBALS['cat_order'] = $cat_order;
// gibt -1 zurück wenn $a "<" $b, +1 wenn $a ">" $b und sonst 0 function sort_results($a, $b) { $dir_a = array_search($a[0], $GLOBALS['categories']); $dir_b = array_search($b[0], $GLOBALS['categories']);
if (($dir_a === false) || !isset($GLOBALS['cat_order'][$dir_a])) { $dir_a = ''; }
if (($dir_b === false) || !isset($GLOBALS['cat_order'][$dir_b])) { $dir_b = ''; }
$cat_prio_a = $GLOBALS['cat_order'][$dir_a]; $cat_prio_b = $GLOBALS['cat_order'][$dir_b];
if ($cat_prio_a < $cat_prio_b) return -1; if ($cat_prio_a > $cat_prio_b) return 1;
if ($a[1] > $b[1]) return -1; if ($a[1] < $b[1]) return 1;
return 0; }
usort($cont_part, 'sort_results'); // Array sortieren #########################
$a = isset($_GET['a']) ? $_GET['a'] : 0; // aktueller Offset
$blaetter = seitenaufteilung($a, $search_pages, $nps, $anz_lr);
// Arrays auslesen $skat_old = ''; $cont_x = ''; for ($j=$a; $j!=$a+$nps; $j++) {
if (($j==$search_pages) || (!preg_match("=.*aNe.*=sU", "$blaetter"))) { break; }
list($skat, $anz_searchexp , $title, $descr, $new_path, $searchx) = $cont_part[$j];
if (empty($skat)) { $skat = $no_category_title; }
$content = str_replace('[SEARCH_TITLE]', $title, $between[1][0]);
// Trefferseite nummerieren $search_nr = $j+1; $content = str_replace('[SEARCH_NR]', $search_nr, $content); $searchx = stripslashes($searchx); $content = str_replace('[SEARCH_CONTENT]', $searchx, $content); $content = str_replace('[SEARCH_LINK]', $from_dir.$new_path, $content); $content = str_replace('[SEARCH_URL]', 'http://'.$_SERVER['SERVER_NAME'].$from_dir.$new_path, $content); $content = str_replace('[SEARCH_DESC]', $descr, $content); $content = str_replace('[SEARCH_COUNT]', $anz_searchexp, $content);
// Zusammengefasste Kategorie-Headline if ($skat != $skat_old) { $content = str_replace('[SEARCH_CATEGORY]', $skat, $content); } else { $content = str_replace('[SEARCH_CATEGORY]', '', $content); $content = preg_replace("=\<\!\-\-.kat_start.\-\-\>.*?\<\!\-\-.kat_stop.\-\-\>=si", '', $content); } $skat_old = $skat;
$cont_x .= $content; }
// Suchergebnis zusammenstellen und anzeigen $tmpl = preg_replace("=\[SEARCH_START\](.*)\[SEARCH_STOP\]=siU", $cont_x, $tmpl); $search_exp_all = urldecode($search_exp); $search_exp_all = str_replace('\\', '', $search_exp_all); $tmpl = str_replace('[SEARCH_WORDS]', $search_exp_all, $tmpl); $tmpl = str_replace('[SEARCH_PAGES]', $search_pages, $tmpl); $tmpl = str_replace('[SHOW_PAGES]', $blaetter, $tmpl);
echo $tmpl;
################################################# # Logdatei schreiben
if(!isset($_GET['a'])) {
foreach ($search_arr as $search_exp) {
$zeilen = file("./_log/search_log.txt"); $anz_zeilen = sizeof($zeilen);
$x=0; $new_log = ''; # Datenfile auslesen for ($i=0; $i<$anz_zeilen; $i++) {
list ($search_word, $search_num) = split("\\|", chop($zeilen[$i]));
// wenn Suchbegriff gefunden wird if ($search_exp==$search_word) { $search_num++; $i-2; $x++; } $new_log .= $search_word.'|'.$search_num."\r\n"; }
// wenn der Suchbegriff nicht schon geloggt wurde if ($x == '0') { $search_num = '1'; $new_log .= $search_exp.'|'.$search_num."\r\n"; }
$data = fopen('./_log/search_log.txt', "w+"); flock($data, LOCK_EX); fwrite($data, $new_log); flock($data, LOCK_UN); fclose($data); unset($new_log); } } #################################################
} } ############################# # Wenn kein Suchbegriff eingegeben wurde else { # Template laden $tmpl = join('', file('./tmpl/search_error.htm')); $tmpl = str_replace('[search_error_count]', '', $tmpl); $tmpl = str_replace('[search_error_empty]', $error_empty, $tmpl); echo $tmpl; } #############################
################################################# # Function für den Verzeichnisdurchlauf und die Trefferermittlung function walk_dir($dir, $rootsearch, $pos=2) {
global $exp_capital, $from_dir, $exp_full, $search_arr, $search_count, $ignore_dir, $ignore_dirnames, $dat_type, $root_dir, $cont_part, $no_title, $arr_all, $maxz, $hit_area, $_GET, $area_content, $area_title, $area_description, $area_keywords, $use_metatitle, $categories;
$pref = ''; $capit = ''; $anz_searchexp = ''; $hitx = '';
$handle = @opendir($dir); while ($file = @readdir ($handle)) { if (preg_match("=^\.{1,2}$=",$file)) continue;
$cut_dir = str_replace($root_dir, '', $dir); // Verzeichnisse zum Vergleich anpassen $cut_dir = substr($cut_dir, 0, -1);
if (in_array($cut_dir, $ignore_dir)) continue; // zu ignorierende Verzeichnisse auslassen if (preg_match('=('.$ignore_dirnames.')=i', $cut_dir)) continue;
if(is_dir($dir.$file) && !$rootsearch) { walk_dir($dir.$file.'/', 0, $pos + 3); } else { ######################################### # Suche und Trefferanzeige ######################################### $abs_dir = preg_replace("=$root_dir=","",$dir); // absoluten Pfad ermitteln
if (preg_match("=(\.$dat_type)$=",$file)) { // wenn eine Datei eine zulässige Endung hat...
$str = join('', file("$dir$file")); // ...Datei einlesen
if (!preg_match("=\<\!\-\-.no_search.\-\-\>=siU", $str)) { // auf auszuschließende Seiten prüfen
$str = ch_uml($str); // Umlaute verarbeiten
$frrepl = array("=\r\n+=", "=\ =", "=<!--.no_search_start.-->.*?<!--.no_search_stop.-->=si", "=<script.*>.*<\/script>=siU", "=<style.*>.*<\/style>=siU", "=\|=", "=<!--.*?-->=s"); $torepl = array(' ', ' ', '', '', '', 'I', ''); $str = preg_replace($frrepl, $torepl, $str);
// Titel ermitteln // Titel ermitteln preg_match("=<title>(.*?)</title>=si", $str, $title);
// Meta-Beschreibung ermitteln if ($area_description == '1') { preg_match('=<meta.*?name\="description".*?content\="(.*?)".*?\>=si', $str, $descr); }
// Keywords if ($area_keywords == '1') { preg_match('=<meta.*?name\="keywords".*?content\="(.*?)".*?\>=si', $str, $keyw); }
// Titel alternativ (Meta-Tag) if ($use_metatitle == '1') { preg_match('=<meta.*?name\="psearchtitle".*?content\="(.*?)".*?\>=si', $str, $metatitle); if (!empty($metatitle[1])) { $title[1] = $metatitle[1]; } }
$a = preg_replace("=<title>.*?<\/title>=si", '', $str); // Titel entfernen $a = preg_replace("=<\?.*?\?>=s", '', $a); // PHP-Tags löschen um nur Text zu durchsuchen $a = preg_replace("=(<[^>]+>)=siU", '', $a); // Tags löschen um nur Text zu durchsuchen
###### # zu durchsuchender Bereich if ($area_content != '1') $a = ''; if ($area_description == '1' && isset($descr[1])) $a .= $descr[1]; if ($area_title == '1' && isset($title[1])) $a .= @$title[1]; if ($area_keywords == '1' && isset($keyw[1])) $a .= $keyw[1]; ######
$i=0;
// Werte aus der URL auslesen if (empty($exp_full)) { $exp_full = $_GET['exp_full']; } if (empty($exp_capital)) { $exp_capital = $_GET['exp_capital']; }
if ($exp_full=="yes") { // nur ganze Wörter $pref = '\b'; } if ($exp_capital=="no") { // Groß- und Kleinschreibung nicht unterscheiden $capit = "i"; }
foreach ($search_arr as $search_word) { // jeden Suchbegriff prüfen
if (preg_match("=$pref.$search_word.$pref=$capit", $a)) { // wenn Suchbegriff vorkommt... $anz_searchexp = ''; $hitx = ''; $anz_searchexp += preg_match_all("=$pref.$search_word.$pref=$capit"."sU", $a, $nullinger);
$i++; // i für jeden gefundenen Suchbegriff erhöhen
if ($i==$search_count) { // wenn ALLE Suchbegriffe gefunden wurden...
// Bereich der Treffer ermitteln und Treffer hervorheben if ($hit_area==1) {
$swlen = strlen($search_word); $strlen = strlen($a); $len = floor(($maxz-$swlen)/2);
foreach ($search_arr as $search_word) {
if (preg_match("=$pref$search_word$pref=$capit", $hitx)) { $hitx = $hitx; }
else {
if (isset($hitx)) { $len = floor($len/2); }
// Trefferbereich ermitteln preg_match("=\b.{0,$len}($pref$search_word$pref).{0,$len}\b=s$capit", $a, $hit);
// Punkte hinzufügen, wenn mehr Zeichen als Max vorhanden sind if ($strlen>$swlen) { $hit[0] = " ...".$hit[0]."... "; }
$hitx .= $hit[0]; } }
foreach ($search_arr as $search_word) { $hitx = preg_replace("=$pref($search_word)$pref=$capit", "<span class='hitword'>\\1</span>", $hitx); }
} // hit_area Ende
if (!empty($title[1])){ // Title der Seite auslesen $new_title = "$title[1]"; } else { $new_title = "$no_title"; }
$new_path = "/$abs_dir$file";
if (!preg_match("=\(\.\*\)|\(\.\*\?\)=", $new_title) && !empty($a)) {
##################### # Kategorien zur Suchanzeige $skat = '';
foreach ($categories as $cat_path => $cat_title) { $tmp_path = substr($cat_path, strlen($from_dir)); if (strpos($new_path, $tmp_path) === 0) { $skat = preg_quote($cat_title); break; } } #####################
$s_show = array(); $s_show[] = $skat; $s_show[] = $anz_searchexp; $s_show[] = $new_title; isset($descr[1]) ? $s_show[] = "$descr[1]" : $s_show[] = ''; $s_show[] = $new_path; $s_show[] = $hitx;
array_push($arr_all, $s_show); }
unset($str, $anz_searchexp, $hitx); } } } } } ######################################### ######################################### } } $cont_part = $arr_all; return ($cont_part); @closedir($handle); } # Funktion ende #################################################
// Entities verarbeiten function ch_uml($del_uml) { if(function_exists('html_entity_decode')){ $del_uml = html_entity_decode($del_uml); } else { $del_uml = str_replace('ä', 'ä', $del_uml); // Umlaute und ß $del_uml = str_replace('ö', 'ö', $del_uml); $del_uml = str_replace('ü', 'ü', $del_uml); $del_uml = str_replace('Ä', 'Ä', $del_uml); $del_uml = str_replace('Ö', 'Ö', $del_uml); $del_uml = str_replace('Ü', 'Ü', $del_uml); $del_uml = str_replace('ß', 'ß', $del_uml); } return ($del_uml); } // end func
#################################################
################################################# # Anzeige der Blätterfunktion
function seitenaufteilung($a, $anz_gesamt, $anz_limit, $anz_lr = null) {
$foot1 = '';
$foot = '<div align=center>'; $foot1 .= '<div style="padding: 10px 0 10px 0;"><a href="http://www.planetc.de" target="_blank" class="copy">:: planetSearch+ :: by PlaNet Concept</a></div>'; $foot1 .= '</div>';
if ($anz_gesamt <= $anz_limit) { return $foot.$foot1; }
if ($anz_limit <= 0) { return $foot.$foot1; }
$anz_seiten = ceil($anz_gesamt / $anz_limit); $seite = floor($a / $anz_limit) + 1;
$blaetter = '';
$erste_seite = 1; $letzte_seite = $anz_seiten;
if (($anz_lr !== null) && ($anz_lr > 0)) { $erste_seite = $seite - $anz_lr;
if ($erste_seite < 1) { $erste_seite = 1; }
$letzte_seite = $erste_seite + 2*$anz_lr;
if ($letzte_seite > $anz_seiten) { $erste_seite -= $letzte_seite - $anz_seiten; $letzte_seite = $anz_seiten; }
if ($erste_seite < 1) { $erste_seite = 1; } }
if ($erste_seite > 1) { $blaetter .= makeLink(0, 'first_last', '[erste Seite]').' '; }
if($seite != 1) { $back = ($seite-2)*$anz_limit;
if($back < 0) { $back = 0; }
$blaetter .= makeLink($back, 'first_last', '<<').' '; }
for ($i = $erste_seite; $i <= $letzte_seite; $i++) { $offset = ($i-1)*$anz_limit;
$text = ''.$i.'';
if ($i == $seite) { $text = '<b>-'.$i.'-</b>'; }
$blaetter .= makeLink($offset, 'digits', $text);
if ($i != $letzte_seite) { $blaetter .= ' '; } }
if($seite != $anz_seiten) { $fwd = $seite*$anz_limit; $blaetter .= ' '.makeLink($fwd, 'first_last', '>>'); }
if ($letzte_seite < $anz_seiten) { $blaetter .= ' '.makeLink(($anz_seiten-1)*$anz_limit, 'first_last', '[letzte Seite]'); }
$blaetter = $foot.$blaetter.$foot1;
return $blaetter; }
function makeLink($a, $class, $text) { global $search_exp, $exp_full, $exp_capital; return '<a href="'.$_SERVER['PHP_SELF'].'?search_exp='.urlencode($search_exp).'&exp_full='.$exp_full.'&exp_capital='.$exp_capital.'&a='.$a.'" class="'.$class.'">'.$text.'</a>'; } ?>
|
22.12.2009, 11:31
| such-script von Planet Concept
#4 | | Erfahrener Benutzer
Registriert seit: 05.07.2007 Ort: Schweiz
Beiträge: 1.601
| AW: such-script von Planet Concept
ist das das ganze file? ich finde niergends den Satz Ihre Suche nach **** hat folgende Treffer auf * Seiten ergeben
Wo steht der im Script?
Ist das das Script von planetsearchplus.php ????
|
22.12.2009, 11:38
| such-script von Planet Concept
#5 | | Erfahrener Benutzer Themenstarter
Registriert seit: 24.10.2008 Ort: Marktoberdorf
Beiträge: 149
| AW: such-script von Planet Concept
ja, also das sind mehrere dateien, der satz den du suchst, steht in ner html datei, die als template dient
|
22.12.2009, 11:42
| such-script von Planet Concept
#6 | | Erfahrener Benutzer
Registriert seit: 05.07.2007 Ort: Schweiz
Beiträge: 1.601
| AW: such-script von Planet Concept
ändere die letzte funktion mal so um: function makeLink($a, $class, $text)
{
global $search_exp, $exp_full, $exp_capital;
return '<a href="'.$_SERVER['PHP_SELF'].'?search_exp='.urlencode($search_exp).'&exp_full='.$exp_full.'&exp_capital='.$exp_capital.'&a='.$a.'" class="'.$class.'">'.$text. " Test Text" .'</a>';
} |
22.12.2009, 11:46
| such-script von Planet Concept
#7 | | Erfahrener Benutzer Themenstarter
Registriert seit: 24.10.2008 Ort: Marktoberdorf
Beiträge: 149
| AW: such-script von Planet Concept
geht immer noch nicht
|
22.12.2009, 11:51
| such-script von Planet Concept
#8 | | Erfahrener Benutzer
Registriert seit: 05.07.2007 Ort: Schweiz
Beiträge: 1.601
| AW: such-script von Planet Concept Steht nun irgendwo Test Text ?? |
22.12.2009, 11:54
| such-script von Planet Concept
#9 | | Erfahrener Benutzer Themenstarter
Registriert seit: 24.10.2008 Ort: Marktoberdorf
Beiträge: 149
| AW: such-script von Planet Concept
auf der ergebnisseite??? nein da steht nix
|
22.12.2009, 11:56
| such-script von Planet Concept
#10 | | Erfahrener Benutzer Themenstarter
Registriert seit: 24.10.2008 Ort: Marktoberdorf
Beiträge: 149
| AW: such-script von Planet Concept HTML-Code: <table width="710" height="50" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" style="border-right: 1px solid #999; border-bottom: 1px solid #999; border-top: 1px solid #FFF;; border-left: 1px solid #FFF;">
<tr bgcolor="#FFFFFF">
<td align="right" style="padding: 15px 0 15px 0; font-weight: bold; font-size: 12px; color: #FFF;">
<div align="center"><font color="#000000" size="3" face="Geneva, Arial, Helvetica, sans-serif"><strong>Treffer</strong></font></div></td>
</tr>
<tr>
<td style="padding: 25px 0 25px 0;"> <table width="490" border="0" align="center" cellpadding="0">
<tr>
<td colspan="2"><b>Ihre Suche nach "[SEARCH_WORDS]"
hat folgende Treffer auf [SEARCH_PAGES] Seiten ergeben:</b></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
[SEARCH_START]
<!-- kat_start -->
<tr>
<td colspan="2" style="font-weight:bold; border-top:1px solid #CCCABB; border-bottom:1px solid #CCCABB; color:#666;">Treffer:</td>
</tr>
<!-- kat_stop -->
<tr>
<td rowspan="3" valign="top" width="10"> <div align="right"><b>[SEARCH_NR]. </b></div></td>
<td><a href="../../%5BSEARCH_LINK%5D"><b>[SEARCH_TITLE]</b></a></td>
</tr>
<tr>
<td>[SEARCH_CONTENT]<br> <br>
[SEARCH_DESC] </td>
</tr>
<tr>
<td><span class="blue">[SEARCH_COUNT] Treffer</span> | <a href="../../%5BSEARCH_LINK%5D">[SEARCH_URL]</a>
</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
[SEARCH_STOP] </table></td>
</tr>
</table> Das ist übrigens der code von der suchergebnisseite (also der ausschnitt, der das ergebnis betrifft)
|  | |
| Thema: such-script von Planet Concept
| | Themen-Optionen | Thema durchsuchen | | | | | Ansicht | Linear-Darstellung |
Ähnliche Themen für: such-script von Planet Concept
| | Thema | Autor | Forum | Antworten | Letzter Beitrag | Concept E Magnum Power Edition oder teufel Concept F Hallo,
habe etwas lange gesucht nun stehe ich kurz davor einen der beiden 5.1 systemen zu kaufen (A und B) würde mir gerne eure meinung anhören.
| calotchro | PC Kaufberatung & Co | 81 | 12.06.2009 20:14 | Teufel Soundsystem! Teufel Concept E Magnum Power Edition, ODER Teufel: Concept F ??? Moin!
Wie es die Überschrift schon sagt kann ich mich nicht zwischen den beiden Anlagen entscheiden.
Zuerst wollte ich mit das Concept E Magnum...
| Flowing | PC Kaufberatung & Co | 20 | 28.01.2009 12:09 | VB Script unter Excel einzigartige NummerVBA Script in Excel einzigartige Nummer aus Datum und Uhrze Hi Leute,
ich möchte mit einen VBA Script in Excel erstellen: es handelt sich um eine einzigartige Nummer zusammengesetzt aus Jahr Monat und...
| jaydee2k7 | Webmaster Hilfe / Programmierer Forum | 0 | 07.02.2008 14:02 | Lost Planet Hallo, habe eine Werbung vom neuen Ego Shooter Lost Planet gesehen. Keider habe ich keine Xbox 360, gibt es dieses Spiel auch für Pc??
Gruss Kevin
| kevin_b | Hardware Probleme | 2 | 21.05.2007 10:01 | Hentai-Planet.de (ich wusste nicht genau wie ich es hintun soll , btw) ...
Hallo,
vor einiger Zeit (einigen Monaten ?) ging das Hentai-Planet.de - Forum offline...
| Hentai-Master | Ueber das Forum | 3 | 15.12.2005 10:21 | |