hi!
gibt es für Redaxo schon eine funktion, die Wörter im Text highlighten lässt?
also z.B.: wenn ich nach "PHP" suche, dann soll auf der Seite, wo "PHP" vorkommt, "PHP" immer gehighlightet sein.
ich nehme mal an, dass das per Url passieren soll (z.B. ?highlight=PHP)
aber der Punkt ist jetzt, ob Redaxo mit damit schon was anfangen kann, oder ob ich mir das erst programmieren soll?
lg. Franz
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
- SquirrelFrank
- Beiträge: 186
- Registriert: 9. Sep 2006, 22:40
- Wohnort: Österreich / Wien
- Kontaktdaten: ICQ Website
- Thomas.Blum
- Entwickler
- Beiträge: 5063
- Registriert: 24. Aug 2004, 22:11
- Wohnort: Dresden
- Kontaktdaten: Website
- SquirrelFrank
- Beiträge: 186
- Registriert: 9. Sep 2006, 22:40
- Wohnort: Österreich / Wien
- Kontaktdaten: ICQ Website
naja...
ich will ja, wenn ich auf einen gefunden Atikel klicke, dass dort bei dem Artikel die Suchwörter gehighlighted werden.
also würde ich mir selber das so machen, dass ich per url das wort übergebe, dass gehighlighted wird, und dann würde ich im main Template oder so, den content-text einmal durchgehen, und bei allen wörtern, die stimmen, ein span drumherum setzen.
die frage ist, ob ich das selber proggen muss, oder ob es da schon was gibt.
danke
franz
ich will ja, wenn ich auf einen gefunden Atikel klicke, dass dort bei dem Artikel die Suchwörter gehighlighted werden.
also würde ich mir selber das so machen, dass ich per url das wort übergebe, dass gehighlighted wird, und dann würde ich im main Template oder so, den content-text einmal durchgehen, und bei allen wörtern, die stimmen, ein span drumherum setzen.
die frage ist, ob ich das selber proggen muss, oder ob es da schon was gibt.
danke
franz
- Thomas.Blum
- Entwickler
- Beiträge: 5063
- Registriert: 24. Aug 2004, 22:11
- Wohnort: Dresden
- Kontaktdaten: Website
Hej Franz,
einfach oben ins Template rein.
vg Thomas
das ist doch schnell erledigt.SquirrelFrank hat geschrieben:die frage ist, ob ich das selber proggen muss, oder ob es da schon was gibt.
Code: Alles auswählen
$content = $this->getArticle();
if (isset($_REQUEST['q']) AND isset($_REQUEST['q'] != '') {
$content = str_replace($_REQUEST['q'], '<span class="highlight">'.$_REQUEST['q'].'</span>'; $content);
}
vg Thomas
- SquirrelFrank
- Beiträge: 186
- Registriert: 9. Sep 2006, 22:40
- Wohnort: Österreich / Wien
- Kontaktdaten: ICQ Website
Hallo Thomas,
Du schreibst:
Danke.
Gruß aus Mx
Wieland
Du schreibst:
Kannst Du das kurz genauer erläutern? Wo muß das ins Template? Und funktioniert das dann schon so, daß nach dem Klick auf einen gefundenen Artikel die gefunden Worte hervorgehoben sind? Ich seh da noch nicht durch.das ist doch schnell erledigt.
Code:
$content = $this->getArticle();
if (isset($_REQUEST['q']) AND isset($_REQUEST['q'] != '') {
$content = str_replace($_REQUEST['q'], '<span class="highlight">'.$_REQUEST['q'].'</span>'; $content);
}
einfach oben ins Template rein.
Danke.
Gruß aus Mx
Wieland
- svenalbert
- Beiträge: 1308
- Registriert: 24. Nov 2005, 17:21
- Wohnort: Clausthal-Zellerfeld / lower saxony
- Kontaktdaten: ICQ Website
normalerweise gibst du mit den inhalt des artikels aus.
wenn du das aber in der content-variable speicherst, kannst du dort alle vorkommen von deiner zeichenfolge mit einem span umgeben lassen
Code: Alles auswählen
$this->getArticle();
wenn du das aber in der content-variable speicherst, kannst du dort alle vorkommen von deiner zeichenfolge
Code: Alles auswählen
$_REQUEST['q']
Code: Alles auswählen
$content = str_replace($_REQUEST['q'], '<span class="highlight">'.$_REQUEST['q'].'</span>'; $content);
- SquirrelFrank
- Beiträge: 186
- Registriert: 9. Sep 2006, 22:40
- Wohnort: Österreich / Wien
- Kontaktdaten: ICQ Website
hmm... das ist wohl nicht ganz so einfach...
ich hab das gerade eingebaut, und bin grad draufgekommen, dass ja auch das suchwort, wenn es in einem link vorkommt, mit dem span umschlossen wird (was natürlich den link zerstört).
Wie kann ich jetzt herausfinden, ob das zu ersetzende Wort in einem string ist, ob es eine klasse oder eine id ist, oder ob es wirklich nur reiner text ist.
Ich seh da gerade keine möglichkeit.
danke
SquirrelFrank
ich hab das gerade eingebaut, und bin grad draufgekommen, dass ja auch das suchwort, wenn es in einem link vorkommt, mit dem span umschlossen wird (was natürlich den link zerstört).
Wie kann ich jetzt herausfinden, ob das zu ersetzende Wort in einem string ist, ob es eine klasse oder eine id ist, oder ob es wirklich nur reiner text ist.
Ich seh da gerade keine möglichkeit.
danke
SquirrelFrank
Als gedanklichen Ansatz fällt mir auf die Schnelle nur ein Beitrag aus der PHP-FAQ ein:SquirrelFrank hat geschrieben:Wie kann ich jetzt herausfinden, ob das zu ersetzende Wort in einem string ist, ob es eine klasse oder eine id ist, oder ob es wirklich nur reiner text ist.
8.11. Wie ersetze ich in einem Text, jedoch nicht innerhalb von HTML-Tags?
<?php print $Footer; ?>
Sven
Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!
REX 5 :: Tricks und Tipps
REX 5 :: Modulesammlung
Wiki zu Redaxo 3 und 4 (!nur noch im Webarchiv!)
Sven
Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!
REX 5 :: Tricks und Tipps
REX 5 :: Modulesammlung
Wiki zu Redaxo 3 und 4 (!nur noch im Webarchiv!)
- SquirrelFrank
- Beiträge: 186
- Registriert: 9. Sep 2006, 22:40
- Wohnort: Österreich / Wien
- Kontaktdaten: ICQ Website
hi!
danke schön.
ich ab das jetzt mal versucht, aber jetzt werden gar keine Wörter mehr "gehighlightet".
ich hab das einfach übernommen, weil die Funktion mit der Suchmaske doch genau das macht, was ich brauche, oder?
danke schön.
ich ab das jetzt mal versucht, aber jetzt werden gar keine Wörter mehr "gehighlightet".
Code: Alles auswählen
$content = $this->getArticle(0);
if (isset($_REQUEST['q']) != "") {
$s = $_REQUEST['q'];
$r = '<span class="highlight">'.$_REQUEST['q'].'</span>';
$content = preg_replace("/((<[^>]*)|$s)/e", '"\2"=="\1"? "\1":"$r"', $content);
}
- Thomas.Blum
- Entwickler
- Beiträge: 5063
- Registriert: 24. Aug 2004, 22:11
- Wohnort: Dresden
- Kontaktdaten: Website
Hej,
ich könnte mir das mal genauer ansehen. Benötige dazu aber einen Zugang um das alles zu testen.
Hatte da mal einen ähnlichen Fall. Habe ein Lexikon Addon, welches den kompletten Inhalt des Artikels durchsucht und dann den Begriff im Text mit einen Link zum Begriff im Lexikon verlinkt.
Und schreibe bitte noch einmla auf, was passieren soll.
vg Thomas
ich könnte mir das mal genauer ansehen. Benötige dazu aber einen Zugang um das alles zu testen.
Hatte da mal einen ähnlichen Fall. Habe ein Lexikon Addon, welches den kompletten Inhalt des Artikels durchsucht und dann den Begriff im Text mit einen Link zum Begriff im Lexikon verlinkt.
Und schreibe bitte noch einmla auf, was passieren soll.
vg Thomas
- SquirrelFrank
- Beiträge: 186
- Registriert: 9. Sep 2006, 22:40
- Wohnort: Österreich / Wien
- Kontaktdaten: ICQ Website
hmm...
es liegt definitiv an folgender Zeile:
ich hatte, mit der hilfe weiter oben, das ganze ja schon so weit, dass alle Wörter (auch innerhalb der < > tags) mit einem Span umschlossen werden. Die einzige Änderung besteht jetzt in dieser Zeile, die ich nicht selber geschrieben habe.
lg. Franz
es liegt definitiv an folgender Zeile:
Code: Alles auswählen
$content = preg_replace("/((<[^>]*)|$s)/e", '"\2"=="\1"? "\1":"$r"', $content);
}
lg. Franz
- Thomas.Blum
- Entwickler
- Beiträge: 5063
- Registriert: 24. Aug 2004, 22:11
- Wohnort: Dresden
- Kontaktdaten: Website