Suchbegriffe durch markieren hervorheben?
Suchbegriffe durch markieren hervorheben?
Hallo,
ich habe auf meiner Seite eine Standardsuche, die funktioniert soweit auch ganz toll, das Problem ist nur dass wenn man nun die Seite aufruft in der der Suchbegriff gefunden wurde, muß man den ganzen Text durchgehen bis man die Stelle gefunden hat an der der Begriff steht.
Nun die Frage; ist es möglich diese gefundenen Begriffe durch markieren hervorzuheben?
SAM
ich habe auf meiner Seite eine Standardsuche, die funktioniert soweit auch ganz toll, das Problem ist nur dass wenn man nun die Seite aufruft in der der Suchbegriff gefunden wurde, muß man den ganzen Text durchgehen bis man die Stelle gefunden hat an der der Begriff steht.
Nun die Frage; ist es möglich diese gefundenen Begriffe durch markieren hervorzuheben?
SAM
-
- Senior Member
- Beiträge: 601
- Registriert: So 4. Jul 2004, 00:24
- Wohnort: Düsseldorf
- Kontaktdaten:
Könnten Sie das einmal genauer erläutern? Ich übergebe einen oder mehrere Suchbegriffe via request an die Detalseite. Wie gehts dann weiter?Christoph Lütjen hat geschrieben:Hallo,
o.g. Lösung war für die Ergebnisseite gedacht. Detailseite: ist leider nur mit eigenem PHP möglich. Auf statischen Seiten natürlich gar nicht.
multimediadesign.net · Atelier für Kommunikation
Grimmstr. 3 · 40235 Düsseldorf
Telefon ++49-211-4981791 · Telefax ++49-211-4981792
http://www.multimediadesign.net · bolle@multimediadesign.net
Grimmstr. 3 · 40235 Düsseldorf
Telefon ++49-211-4981791 · Telefax ++49-211-4981792
http://www.multimediadesign.net · bolle@multimediadesign.net
-
- Senior Member
- Beiträge: 1319
- Registriert: Do 22. Mai 2003, 23:25
-
- Senior Member
- Beiträge: 601
- Registriert: So 4. Jul 2004, 00:24
- Wohnort: Düsseldorf
- Kontaktdaten:
Nö, das bezieht sich auch nur auf die Ausgabe innerhalb der Ergebnisliste. Ich will aber folgendes:e_herrmann hat geschrieben:Hi,
schau mal hier:
http://forum.webedition.de/showthread.php?t=10136
Grüße Elko
<we:listview type="search">
<we:repeat>
Link_zur_gefundenen_Seite.php?suchbegriff=SUCHBEGRIFF
</we:repeat>
</we:listview>
Dann soll auf der DETAILSEITE dieser SUCHEBEGRIFF markiert werden. Also muss wohl die Seite irgendwie geparst werden, wobei der SUCHBEGRIFF immer durch "<span>SUCHBEGRIFF</span>" ersetzt werden soll.
multimediadesign.net · Atelier für Kommunikation
Grimmstr. 3 · 40235 Düsseldorf
Telefon ++49-211-4981791 · Telefax ++49-211-4981792
http://www.multimediadesign.net · bolle@multimediadesign.net
Grimmstr. 3 · 40235 Düsseldorf
Telefon ++49-211-4981791 · Telefax ++49-211-4981792
http://www.multimediadesign.net · bolle@multimediadesign.net
-
- Senior Member
- Beiträge: 425
- Registriert: Do 1. Jan 1970, 02:00
- Wohnort: Dresden
- Kontaktdaten:
grob skizziert, würde ich wie folgt vorgehen (ohne es bisher jemals gemacht zu haben):
- per REQUEST übergebenen Suchbegriff in globaler Variable speichern
- sämtliche WebEdition-Datenfelder, die normalerweise Text auf der Seite ausgeben, vor der Ausgabe mit PHP "bearbeiten": nach der Variable SUCHBEGRIFF durchsuchen und ersetzen durch z.B. <span>SUCHBEGRIFF</span>
- vielleicht kann man auch gleich das ganze WebEdition-eigene Array durchsuchen und ersetzen?
Berichte doch mal, ob Du damit weiterkommst.
Viel Erfolg,
Alex
- per REQUEST übergebenen Suchbegriff in globaler Variable speichern
- sämtliche WebEdition-Datenfelder, die normalerweise Text auf der Seite ausgeben, vor der Ausgabe mit PHP "bearbeiten": nach der Variable SUCHBEGRIFF durchsuchen und ersetzen durch z.B. <span>SUCHBEGRIFF</span>
- vielleicht kann man auch gleich das ganze WebEdition-eigene Array durchsuchen und ersetzen?
Berichte doch mal, ob Du damit weiterkommst.
Viel Erfolg,
Alex
http://www.xport.de – Internet-Agentur für Hotels
http://www.domainpreisvergleich.de – Domain-Preisvergleich inkl. Verfügbarkeits-Check – ist meine Wunschdomain noch frei, und wo registriere ich sie am günstigsten?
http://www.domainpreisvergleich.de – Domain-Preisvergleich inkl. Verfügbarkeits-Check – ist meine Wunschdomain noch frei, und wo registriere ich sie am günstigsten?
-
- Senior Member
- Beiträge: 1319
- Registriert: Do 22. Mai 2003, 23:25
Hi,
na genau das ist doch auf der Seite beschrieben. Ob man die ausgabe innerhalb einer LV oder auf der Seite macht unterscheidet sich ja nur im Zugriff auf die einzelnen Felder. Und klar den Suchberiff musst du natürlich per Request übergeben.
Die php-Funktion sollte aber so funktionieren.
Grüße Elko
na genau das ist doch auf der Seite beschrieben. Ob man die ausgabe innerhalb einer LV oder auf der Seite macht unterscheidet sich ja nur im Zugriff auf die einzelnen Felder. Und klar den Suchberiff musst du natürlich per Request übergeben.
Die php-Funktion sollte aber so funktionieren.
Grüße Elko
-
- Senior Member
- Beiträge: 601
- Registriert: So 4. Jul 2004, 00:24
- Wohnort: Düsseldorf
- Kontaktdaten:
Danke für die Antwort!! So ähnlich habe ich mir das auch gedacht - theoretisch Aber liebe Freunde, muss ich mich erst als TOTALER PHP-UNWISSENDER (nun ja, nicht ganz outen, damit Ihr mir mal ein PHP'chen hier reintippt?Creutzburg hat geschrieben:grob skizziert, würde ich wie folgt vorgehen (ohne es bisher jemals gemacht zu haben):
- per REQUEST übergebenen Suchbegriff in globaler Variable speichern
- sämtliche WebEdition-Datenfelder, die normalerweise Text auf der Seite ausgeben, vor der Ausgabe mit PHP "bearbeiten": nach der Variable SUCHBEGRIFF durchsuchen und ersetzen durch z.B. <span>SUCHBEGRIFF</span>
- vielleicht kann man auch gleich das ganze WebEdition-eigene Array durchsuchen und ersetzen?
Berichte doch mal, ob Du damit weiterkommst.
Viel Erfolg,
Alex
Konkret:
- per request übergeben = kein Problem, kann ich
- alles durchsuchen und ersetzen = kannichnicht
Oh bitte, führet mich auf den richtigen Pfad...
multimediadesign.net · Atelier für Kommunikation
Grimmstr. 3 · 40235 Düsseldorf
Telefon ++49-211-4981791 · Telefax ++49-211-4981792
http://www.multimediadesign.net · bolle@multimediadesign.net
Grimmstr. 3 · 40235 Düsseldorf
Telefon ++49-211-4981791 · Telefax ++49-211-4981792
http://www.multimediadesign.net · bolle@multimediadesign.net
-
- Senior Member
- Beiträge: 1319
- Registriert: Do 22. Mai 2003, 23:25
Hi,
bin selbst kein Programmierer und habe aus deinen Posts schon öfter mal gute php-Schnipsel mitgenommen, da dachte ich du kannst dir das selbst zusammenfummeln.
Ich habe das mal mit dem Beispiel von Ralf für ein Textfeld ausprobiert, funktionierte, war aber casesensitiv. Deshalb jetzt mit str_ireplace.
Die Ausgabe musst du dann für jedes Textfeld auf der Seite wiederholen.
Falls du mit Objekten arbeitest, funktioniert das natürlich nur innerhalb we_object.
Grüße Elko
bin selbst kein Programmierer und habe aus deinen Posts schon öfter mal gute php-Schnipsel mitgenommen, da dachte ich du kannst dir das selbst zusammenfummeln.
Ich habe das mal mit dem Beispiel von Ralf für ein Textfeld ausprobiert, funktionierte, war aber casesensitiv. Deshalb jetzt mit str_ireplace.
Die Ausgabe musst du dann für jedes Textfeld auf der Seite wiederholen.
Falls du mit Objekten arbeitest, funktioniert das natürlich nur innerhalb we_object.
Grüße Elko
- Code: Alles auswählen
<?php
$suchwort = $_GET["suche"];
$ergebnis = $GLOBALS['we_doc']->getElement('Textfeld');
$treffer = str_ireplace($suchwort,"<font color='red'>".$suchwort."</font>",$ergebnis);
echo $treffer."<br/>";
?>
Ich finde die Idee gut und habe mir mal einen Tag dazu ausgedacht:
<we:highlightVar> erweitert <we:var> um die Möglichkeit, Begriffe hervorheben zu können.
Als Trennzeichen zwischen Begriffen können Leerzeichen, Plus/Minus oder auch Kommata genutzt werden. Begriffe mit einem vorangestellten Minus werden nicht hervorgehoben.
Ich hoffe, damit die Übergabe eines Suchstrings zu erleichtern.
In der Ausgabe wird der Suchbegriff dann mit <span class="HIGHLIGHTCLASS">BEGRIFF</span> hervorgehoben.
Innerhalb von html-Tags findet - sofern der reg. Ausdruck alles abdeckt - keine Ersetzung statt, so dass Links nicht zerstört werden.
Das ganze ist nicht casesensitiv.
Werden keine Suchbegriffe übergeben, dann gibt der Tag einfach die Ausgabe von <we:var> aus.
Parameter:
wie we:var aber zusätzlich:
highlight
Eingabe: hervorzuhebende Begriffe
Default: leer
highlightClass
Eingabe: beliebiger Text
default: leer
Beispiel:
In der ZIP-Datei sind die benötigten Dateien enthalten.
Der Einsatz ist wie immer ohne Gewähr.
Als nächstes ist dann <we:highlightField> nach dem gleichen Muster geplant.
<we:highlightVar> erweitert <we:var> um die Möglichkeit, Begriffe hervorheben zu können.
Als Trennzeichen zwischen Begriffen können Leerzeichen, Plus/Minus oder auch Kommata genutzt werden. Begriffe mit einem vorangestellten Minus werden nicht hervorgehoben.
Ich hoffe, damit die Übergabe eines Suchstrings zu erleichtern.
In der Ausgabe wird der Suchbegriff dann mit <span class="HIGHLIGHTCLASS">BEGRIFF</span> hervorgehoben.
Innerhalb von html-Tags findet - sofern der reg. Ausdruck alles abdeckt - keine Ersetzung statt, so dass Links nicht zerstört werden.
Das ganze ist nicht casesensitiv.
Werden keine Suchbegriffe übergeben, dann gibt der Tag einfach die Ausgabe von <we:var> aus.
Parameter:
wie we:var aber zusätzlich:
highlight
Eingabe: hervorzuhebende Begriffe
Default: leer
highlightClass
Eingabe: beliebiger Text
default: leer
Beispiel:
Code: Alles auswählen
<we:ifEditmode>
<we:textarea name="meinText" wysiwyg="true" xml="true" />
<we:else />
<we:setvar to="global" nameto="highlight" from="request" namefrom="highlight" />
<we:highlightVar name="meinText" highlight="$highlight" highlightClass="highlight" />
</we:ifEditmode>
Der Einsatz ist wie immer ohne Gewähr.
Als nächstes ist dann <we:highlightField> nach dem gleichen Muster geplant.
-
- Senior Member
- Beiträge: 1319
- Registriert: Do 22. Mai 2003, 23:25
Hey Thomas,
du bist doch der Beste!!!
Danke für deine neuen Tags, freut mich immer wieder.
@we-Support, bitte richtet doch im Forum einen Bereich ein in dem man die Erweiterungs-Tags sammeln kann und vielleicht auch weiterentwickeln. So sind sie auch für Leute verfügbar die hier nicht pausenlos mit lesen.
Grüße Elko
du bist doch der Beste!!!
Danke für deine neuen Tags, freut mich immer wieder.
@we-Support, bitte richtet doch im Forum einen Bereich ein in dem man die Erweiterungs-Tags sammeln kann und vielleicht auch weiterentwickeln. So sind sie auch für Leute verfügbar die hier nicht pausenlos mit lesen.
Grüße Elko
Hallo Elko!
Danke für die Blumen
Ich bemühe mich.
@we-support: Eine zentrale Anlaufstelle für die customTags fände ich auch sehr sinnvoll! So kann jeder die Tags weiterentwickeln.
Alternativ einen Bereich auf support.webEdition.de, also ausserhalb des Forums.
@all:
Anbei <we:highlightfield>
Der Tag erweitert we:field um die o.a. Highlightmöglichkeiten. Die zusätzlichen Paramter entsprechen <we:highlightVar>.
Auch dies ohne Gewähr. Bitte mal ausprobieren und bei Fehlern einfach melden.
Danke für die Blumen
Ich bemühe mich.
@we-support: Eine zentrale Anlaufstelle für die customTags fände ich auch sehr sinnvoll! So kann jeder die Tags weiterentwickeln.
Alternativ einen Bereich auf support.webEdition.de, also ausserhalb des Forums.
@all:
Anbei <we:highlightfield>
Der Tag erweitert we:field um die o.a. Highlightmöglichkeiten. Die zusätzlichen Paramter entsprechen <we:highlightVar>.
Auch dies ohne Gewähr. Bitte mal ausprobieren und bei Fehlern einfach melden.
-
- Senior Member
- Beiträge: 523
- Registriert: Mo 16. Jun 2003, 18:02
Re: Suchbegriffe durch markieren hervorheben?
wo finde ich denn die jeweiligen zip dateien?
_____________________________________________
Grüße
Michael
Grüße
Michael
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste