Neuigkeiten:

moziloCMS verwendet Cookies. Wenn Sie auf unserer Seite weitersurfen, stimmen Sie der Cookie-Nutzung zu Datenschutzerklärung
moziloCMS Layouts
moziloCMS Plugins

Hauptmenü

Suchfunktion {SEARCH}

Begonnen von harry60, 16. Dezember 2023, 22:25:38

« vorheriges - nächstes »

harry60

Hallo

Xampp, PHP Version 8.2.4  Rev.55
Ich habe die Suche in der Webseite eingebaut. Es findet alle Wörter, ob Groß- oder Kleinschreibung.
Auch Wörter mit Anfangsbuchstaben ü,ö,ä. Aber keine Wörter mit Großbuchstaben Ü,Ö,Ä.
Habe schon in der SearchClass.php ab Zeile 54 etwas getestet. z.B. isset ausgetauscht mit empty.
Der Erfog: es findet auch Wörter mit Ü,Ö,Ä als Anfangsbuchstaben, aber keine Wörter, wenn ich sie in Anfangsbuchstaben "Klein" eingebe, die nur in Anfangsbuchstaben "Groß" vorhanden sind.
Vielleicht hat jemand eine Lösung?

Viele Grüße und einen schönen 3.Advent

marusti

Hallo harry,

die ganze Suche hat mich jetzt etwas verwirrt. Ich habe folgendes gemacht:

Versuch 1:
  • Neue Kategorie angelegt und nur den Namen geändert auf "Tür"
  • Neue Kategorie angelegt und nur den Namen geändert auf "Österreich"
Suche nach "Tür" oder "Österreich" oder "österreich". Ergebnis: nichts gefunden

Versuch 2:
  • Neue Kategorie angelegt, Namen geändert auf "Tür" und im Inhalt "Tür" eingefügt
  • Neue Kategorie angelegt, Namen geändert auf "Österreich" und im Inhalt "Österreich" eingefügt
Suche nach "Tür" Ergebnis: Artikel Tür wird gefunden (kein Highlight). Wenn man auf den Artikel klickt, öffnet sich die Inhaltsseite und das Wort "Tür" ist mit Highlight dargestellt.

Suche nach "Österreich" oder "österreich" Ergebnis: Artikel Österreich wird gefunden (kein Highlight). Wenn man auf den Artikel klickt, öffnet sich die Inhaltsseite und das Wort "Österreich" ist mit Highlight dargestellt.

Ist es das was du meinst?

harry60

#2
Hallo marusti,

Mein Versuch:

- Inhaltsseite angelegt- Name "Inhaltsseite" in irgendeiner Kategorie
- In der Inhaltsseite: folgende Namen abspeichern - "Äpfel", "Österreich", "übrig", "tür", "natürlich"
Ergebnis:
Suche nach "österreich" -gefunden, kein Highlight
Suche nach "Österreich" -gefunden, kein Highlight
Suche nach "übrig"        -gefunden, Highlight
Suche nach "Übrig"        -gefunden, Highlight, weil das Wort klein "übrig" in der Inhaltsseite vorhanden ist
Suche nach "Äpfel"        -gefunden, kein Highlight
Suche nach "äpfel"        -gefunden, kein Highlight
Suche nach "Tür"          -gefunden, Highlight
Suche nach "tür"           -gefunden, Highlight
Suche nach "reich"        -gefunden, Highlight

Bitte die Groß- und Kleinschreibung der vorhandenen Wörter beachten!

marusti

Heißt das, dass alles ok ist?

harry60

Hallo marusti,

Nicht alles ok.
Hast du meinen Versuch mal nachgestellt?

Wie soll ichs noch beschreiben?
Gefunden heißt in welcher Inhaltsseite das Wort steht, wird aber nicht als Highlight dargestellt.

marusti

mein highlight bezog sich auf die Suchergebnisliste.

Es betrifft alle Zeichen in Zeile 50 nach dem 'Z'

harry60

Hallo marusti,

ZitatEs betrifft alle Zeichen in Zeile 50 nach dem 'Z'

Ja. Einfach ja.

harry60

#7
Hallo marusti,

Ich habe viel getestet: Ist vielleicht nicht das Perfekte, aber ein Anfang.
Bitte mal prüfen. Auf meiner Seite funktioniert es halbwegs. Es wird nicht alles gefunden.

Zeile 50 in SearchClass.php

$hi_str = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,%20À,...".$search_chars_hi;
Ich kann es nicht anders angeben, wird sonst nicht gesendet.
Also, nach dem 'Z', vor jedem exotischen Buchstaben ein %20 einfügen.


marusti

Hallo harry,

vielleicht kommen wir gemeinsam noch zjm Ergebnis: ich denke es hat etwas mit der Funktion bei der Umwandlung in Kleinbuchstaben zu tun. Wenn du zb in Zeile 49/50 ä,ö,ü löscht, funktioniert es auch mit dem Highlight. Dann allerdings auch nur, wenn es die korrekte Groß-oder Kleinschreibung ist. Also zb

Suche nach "Äpfel"        -gefunden, Highlight
Suche nach "äpfel"        -nicht gefunden

marusti

nächster Test:
Zeile 49 und 50 ersetzen
$hi_str = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,%C3%84".$search_chars_hi;
$lo_str = mb_strtolower($hi_str.$search_chars_lo);
und dann suche nach "Äpfel".

Alternativ: ab Zeile 34 - es gibt die Möglichkeit, die ganzen sprachspezifischen Buchstaben (für deutsch zb die Umlaute) auch in der Sprachdatei zu hinterlegen. _search_chars_hi und _search_chars_lo sind anscheinend in allen Sprachdateien leer aber man könnte dort auch zb bei _search_chars_hi "%C3%84" einfügen und dann nur

$hi_str = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z".$search_chars_hi;
$lo_str = mb_strtolower($hi_str.$search_chars_lo);


harry60

Hallo,

Ich habe noch einiges probiert, einmal geht das "Eine" dann das "Andere". Ich habe nach Zeile 50 diese Zeile eingfügt. Bin dann mal zufrieden.

$hi_str = str_replace(",À,... hier alle exotischen Buchstaben einfügen",",%20",$hi_str);

Geht nicht anders, wird sonst nicht gesendet.

harry60

Hallo,

Erstmal eine Frage: Warum stehen die exotischen Buchstaben (als UTF-8) in der SearchClass.php?

Ich habe alle exotischen Zeichen aus der $hi_str und $lo_str herausgenommen. Keine Zeile eingefügt. Es findet alles wie bei meinem letzten Post vom 07.01..

Habe mir in einer Inhaltsseite folgende Buchstaben und Wörter abgespeichert:
René, €, Òland, ókander, óyo, über, Ückeritz und noch andere. Es findet alles (Groß- und Kleinschreibung einhalten) ohne die Zeichen in den Variablen. Bei der Suche nach Wörtern in deutsch (ohne Umlaute) ist Groß- und Kleinschreibung egal.

Wer kann mir das erklären?