CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
12.03.2003, 15:45:46
|
Anfänger
|
|
Registriert seit: Aug 2002
Beiträge: 4
|
|
Suchergebnis markieren ==> stristr()???
Hallo zusammen,
um Suchergebnisse zu markieren kann ich mittels CSS den Texthintergrund farbig darstellen (Das klappt zum Teil auch schon).
Ich habe aber das Problem, dass in einem längeren Text das gleiche Suchwort mehrmals vorkommt und ich diese dann nicht einzeln markieren kann.
Folgender Codeabschnitt wird verwendet:
[...]
$gef_suchw = stristr($long_txt, $suchwort);
$mark_suchw = str_replace($gef_suchw, "<span class="marker">$gef_suchw</span>", $long_txt);
[...]
Gibt es eine elegante Lösung zum markieren von Suchergebnissen?
Ein weiteres Problem besteht nämlich darin, dass das gefundene Suchwort mit der Schreibweise aus der Anfrage überschrieben wird.
Vielen Dank.
Gruss
Plectron
|
12.03.2003, 16:00:32
|
|
Member
|
|
Registriert seit: Dec 2002
Ort: Soest
Beiträge: 623
|
|
Ich würde das Ergebnis, das den String mit den gesuchten Wörtern enthält, vor der Ausgabe entsprechend mit ereg_replace modifizieren:
PHP-Code:
$meldung="Das ist ein Test.";
$suche="Test";
$ausgabe=ereg_replace($suche,"<b>".$suche."</b>",$meldung);
echo $ausgabe;
Ergebnis:
Das ist ein Test.
als Beispiel...
__________________
The internet is full of answers, even to never asked questions!
|
12.03.2003, 16:38:32
|
|
Administrator
|
|
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|
|
hi,
nehm lieber eregi_replace(); das achtet nicht auf groß- und kleinschreibung...
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
|
12.03.2003, 16:47:36
|
|
Member
|
|
Registriert seit: Mar 2002
Ort: Port 80, localhost-city, 127/0/0/1
Beiträge: 878
|
|
mal ne etwas andere idee:
(das hab ich wie immer nicht getestet)
Code:
$searchwords=explode(" ",$suchstring);
foreach($searchwords as $searchword)
{
$gesamtstring=strreplace($word, "<span class="searchhighlight">$word</span>",$gesamtstring);
}
das highlighted alle wörter die im suchstring vorkommen einzeln.
Das kannst du eventuell noch mit nem volltext highlighter kombinieren wenn du möchtest...
|
12.03.2003, 17:04:04
|
|
Member
|
|
Registriert seit: Dec 2002
Ort: Soest
Beiträge: 623
|
|
Zitat:
Original geschrieben von |Coding
hi,
nehm lieber eregi_replace(); das achtet nicht auf groß- und kleinschreibung...
|
Stimmt ja :o|
Ich dachte immer, es wär andersrum gewesen...
//edit
@Matt
Deine Routine dürfte Probleme bei Kommata machen, die direkt an ein Wort angehängt sind.
Das Wort vor dem Komma wird dann nicht als Treffer gewertet
__________________
The internet is full of answers, even to never asked questions!
Geändert von Yzerman (12.03.2003 um 17:06:54 Uhr)
|
12.03.2003, 18:10:32
|
|
Administrator
|
|
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|
|
Zitat:
Original geschrieben von Yzerman
@Matt
Deine Routine dürfte Probleme bei Kommata machen, die direkt an ein Wort angehängt sind.
Das Wort vor dem Komma wird dann nicht als Treffer gewertet
|
ich habe es jetzt nicht getestet und weiß nicht obs funzt, aber warum überhaupt so komliziert?
so reicht es doch:
PHP-Code:
$highlight = str_replace($wort, "<span class="searchhighlight">$wort</span>", $str);
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 09:50:06 Uhr.
|