Stelle im Text anzeigen

pl_90

Angesehenes Mitglied
Hallo,
Wie gehts Euch?
smile.gif

Ich hab ne Frage, und zwar...

Ich habe einen Text, der zum Beispiel 1500 Zeichen lang ist,
nun möchte ich wenn jemand als Suchbegriff zum Beispiel "kostenlos" eingibt,
die Stelle(n) anzeigen wo das Wort "kostenlos" vorkommt, es sollen aber nur zum Beispiel 250 Zeichen insgesamt angezeit werden, also halt so wie Google oder andere Suchmaschinen.. Wie könnte ich so etwas machen? Hab kp wo ich anfangen soll.. hm.. Könnte mir jemand bitte da helfen? Vielen Dank schon mal im Voraus..
smile.gif
 
Woher nimmst du die Texte? Aus einer Datenbank? Fragst du diese per PHP ab?
 
Es wäre hilfreicher wenn Du uns zumindest die Scriptsprache verraten würdest.
ASP, PHP, Perl, Python....

In PHP geht das z.B. mit ereg_replace
CODE <?php
$text = "Hello World blah, blah...";
$text = substr ( $text, 0, 250 );

$suche_wort = "World";
$wort_markiert = "<span style=\"background-color: #FF0000\">".$suche_wort. "</span>";
$mein_text = eregi_replace ( $suche_wort, $wort_markiert, $text );

echo $mein_text;
?>
 
achso.. hehe... php...
ja der text kommt aus ner db... aber ich glaube das ist nicht so wichtig..

@Peter..
Ja danke.. aber sowas weiß ich schon.. ich meinte was anderes... sowas wie google oder so.. das die stellen bzw. das gesuchte wort aus dem text rausgesucht wird und dann angepasst an Beispielweise 250 Zeichen angezeigt...

Zum Beispiel:
Text ist "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla lacinia, purus consectetuer accumsan ullamcorper, ante arcu condimentum urna, vehicula auctor risus leo sit amet neque. Mauris pede eros, ultricies nec, interdum nec, mattis ut, mi. Maecenas elit lacus, accumsan at, rhoncus et, ultricies sed, nibh. Etiam nec leo. Curabitur tellus leo, suscipit ornare, lobortis fringilla, congue in, urna. Cras est orci, tempor in, mattis vitae, sodales sit amet, magna. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nullam posuere. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur faucibus, erat et euismod cursus, nisl massa aliquam tortor, non facilisis erat nisi ut elit. " (ungefähr 775 Zeichen)

Gesuchte Wörter "Mauris" und "Cras"

Anzeige ist "... vehicula auctor risus leo sit amet neque. Mauris pede eros, ultricies nec, interdum nec, mattis ut, mi. Maecenas elit lacus, accumsan at, rhoncus et, ultricies sed, nibh. Etiam nec leo. ... Cras est orci, tempor in, mattis vitae, sodales sit amet, magna ..." (ungefähr 253 Zeichen)

Wisst ihr jetzt ungefähr was ich meine? Schaut Euch mal zum Beispiel hier das 2 Ergebnis an: http://www.google.de/search?hl=de&q=kosten...eintragen&meta=


Vielen Dank im Voraus.
smile.gif

 
bitte...

CODE $suchwort[] = "Mauris";
$suchwort[] = "Cras";


$text = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla lacinia, purus consectetuer accumsan ullamcorper,
ante arcu condimentum urna, vehicula auctor risus leo sit amet neque. Mauris pede eros, ultricies nec, interdum nec, mattis ut,
mi. Maecenas elit lacus, accumsan at, rhoncus et, ultricies sed, nibh. Etiam nec leo. Curabitur tellus leo, suscipit ornare,
lobortis fringilla, congue in, urna. Cras est orci, tempor in, mattis vitae, sodales sit amet, magna. Pellentesque habitant morbi
tristique senectus et netus et malesuada fames ac turpis egestas. Nullam posuere. Pellentesque habitant morbi tristique senectus
et netus et malesuada fames ac turpis egestas. Curabitur faucibus, erat et euismod cursus, nisl massa aliquam tortor, non facilisis
erat nisi ut elit";

foreach($suchwort as $suche_wort){
$pos = strpos($text, $suche_wort);
$len = strlen($text);
if ($pos == true) {
$text1 = substr ( $text, $pos, $len );
$wort_markiert = "<span style=\"background-color: #FF0000\">".$suche_wort. "</span>";
$arr[] = eregi_replace ( $suche_wort, $wort_markiert, $text1 ) . "... ";
}
}
echo "Mein TEXT:<hr>".implode(" ",$arr);
 
danke für deine mühe und sorry aber ich meine das nicht so.. und außerdem wiederholt sich der text bei deinem code...
Stell dir vor, du guckst dir über eine Lupe einen sehr sehr langen Text an... Du suchst das Wort "dolor" und findest es gleich am Anfang des Textes. Das was du über die Lupe siehst, schreibst du auf (Du siehst nur: "Lorem ipsum dolor sit amet", ein paar Wörter da hinter und ein paar davor). Dannach suchst du das Wort "facilisis" und findest es diesmal am Ende des Textes. Und wieder was du über die Lupe siehst, schreibs du auf (Du siehst nur: "aliquam tortor, non facilisis erat nisi ut elit", ein paar Wörter dahinter und ein paar davor). Jetzt stellst du fest, dass was du aufgeschrieben hast noch nicht X Zeichen (Beispiel 250) lang ist. Was machst du dann? Weil du ja weiß, dass du das erste Suchbegriff am Anfang des Textes gefunden hast und das zweite am Ende, suchst du noch nach Text in der Mitte und findest welchen. Du packst einfach zwischen den ersten und den zweiten was du nach deiner Suche aufgeschrieben hast noch ein paar Sätze rein, sodass dein Komplettes "Werk" Beispielweise 250 Zeichen lang ist. Dieses zeigst du auch an, natürlich hebst du die Suchbegriffe hervor.

So etwas.. hat es einer verstanden?
biggrin.gif
*grins* halt so ne Anzeige wie bei den Sumas kann man sagen..
smile.gif
Nochmals anke schön im Voraus....
smile.gif
 
Zurück
Oben