Suchbegriffe durch markieren hervorheben?

Fragen zu den Grundfunktionen der webEdition Oberfläche wie Backup, Import, ...
Fragen zu we:Tags bitte im Forum "Templates erstellen"
ThomasGoebe

Re: Suchbegriffe durch markieren hervorheben?

Beitragvon ThomasGoebe » Sa 24. Apr 2010, 22:31

Hallo Michael,

seit einem Forumsupdate / -wechsel sind die Anhänge glaube ich weg. Wenn ich irgendwann mal Zeit finde, meine eigene Internetpräsenz zu überarbeiten, dann werde ich da auch noch mal die Tags zusammensuchen und online stellen. Das wird aber aufgrund akuter Auftragslage sicher noch ein Weilchen dauern.

Toddler
Member
Beiträge: 76
Registriert: Fr 4. Jul 2008, 13:49

Re: Suchbegriffe durch markieren hervorheben?

Beitragvon Toddler » So 25. Apr 2010, 00:03

Hallo,

die Frage nach dem Forum finde ich gar nicht so unlogisch. Oder vielleicht einen Bereich im Wiki einrichten?

Es wäre halt schön, wenn zentral alle fremd entwickelten "Guten-Tags" gesammelt sind. Da würde ich mich auch für interessieren!

Ich hoffe die Auftragslage bleibt weiter fordernd, TgO - und dass Du dennoch etwas Zeit findest ;-)

LG,
Toddler

Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Re: Suchbegriffe durch markieren hervorheben?

Beitragvon Carrear » Mi 18. Jun 2014, 15:25

Ich habe es lieber anhand einer kleinen PHP Funktion umgesetzt:

Code: Alles auswählen

<?php
function mb_stripos_all($haystack, $needle) {
	$s = 0;
	$i = 0;
	$counter = 0;

	while(is_integer($i)) {
		$i = mb_stripos($haystack, $needle, $s);
		if(is_integer($i)) {
			$aStrPos[$counter]['start'] = $i;
			$s = $i + mb_strlen($needle);
			$aStrPos[$counter]['end'] = $s;
		}
		$counter ++;
	}
	
	if(isset($aStrPos)) {
		$counter = 0;
		$preaddedlength = 0;
		$insertstart = "<span class=\"searchterm\">";
		$insertend = '</span>';
		$lengthstart = mb_strlen($insertstart);
		$lengthend = mb_strlen($insertend);
		foreach($aStrPos as $start){
			$preaddedlength = $counter * ($lengthstart + $lengthend);
			$poststart = $start['start'] + $preaddedlength;
			$posend = $start['end'] + $preaddedlength + $lengthstart;
			
			$str1 = substr($haystack, 0, $poststart);
			$str2 = substr($haystack, $poststart);
			$haystack = $str1.$insertstart.$str2;
			
			$str1 = substr($haystack, 0, $posend);
			$str2 = substr($haystack, $posend);
			$haystack = $str1.$insertend.$str2;
			$counter++;
		}
	}
	return $haystack;
}
?>
Und die Felder gebe ich dann so aus:

Code: Alles auswählen

<?php
	$mySearchTerm= $_REQUEST['we_lv_search_Suche'];  	
?>
...

Code: Alles auswählen

<we:field name="Title" alt="we_path" to="global" nameto="input"/>
<?php 
$output= mb_stripos_all($input, $mySearchTerm);
echo $output;
?>
Da hat man immer Einblick und ist nicht auf ggf. notwendige Anpassungen des Custom Tag angewiesen :)

Viele Grüße
Martin

ThomasGoebe

Re: Suchbegriffe durch markieren hervorheben?

Beitragvon ThomasGoebe » Mi 18. Jun 2014, 16:40

Wobei der Custom Tag im Prinzip nichts anderes macht... Nur eben gekapselt als Tag und nicht in irgendeiner Funktion. Damit ist er eigentlich besser mehrfach nutzbar, pflegbar etc..
Sofern nicht erneut in webEdition die Struktur der Tags mal eben geändert werden muss...

Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Re: Suchbegriffe durch markieren hervorheben?

Beitragvon Carrear » Mi 18. Jun 2014, 16:56

Ja, ich kann Ihn so halt in eine eigene php Datei schieben und einbinden wo ich Ihn brauche. Zum bearbeiten muss ich aber nicht nochmal via ftp an den Server. Ich finde das so ganz praktisch :) Aber klaro, einheitlicher nutzbar etc. ist so ein custom tag alle male. Ich dachte mir nur ich teile es hier, vielleicht hat ja irgendjemand mal was davon.


Zurück zu „Basisversion“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste