Suchfunktion - nach mehrer Begriffe suchen
Hi,
ich habe mir eine Suchfunktion für meine Website gebastelt, die auf eine DB zugreift. Die Suche funktioniert auch perfekt und bin auch mächtig stolz drauf Aber wie das öfters so ist, ist die halt noch nicht ganz perfekt.
und zwar fehlt noch, dass der Benutzer nach 2 Begriffen suchen kann, also das was google auch kann.
Wie das von der Logik alles ablaufen soll/kann ist mir klar. Nur ich finde die passenden Funktionen nicht...
Ich brauche eine die erkennt ob eine " (Leerzeichen)" oder ein"+" im Suchstring enthalten oder noch besser den String an diesen Stellen gleich teilt.
In Java gibt es paar nette Stringfunktionen die das können, daher hoffe ich mal das es die in php auch gibt.
Hab mir dazu http://www.php.net/quickref.php angeschaut nur leider wurde ich von der Menge erschlagen und habe keine Ahnung welche es davon sein könnte(n)....
Ich hoffe ihr könnt mir weiterhelfen!
mfg
ThermoTubbie /Martin
ich habe mir eine Suchfunktion für meine Website gebastelt, die auf eine DB zugreift. Die Suche funktioniert auch perfekt und bin auch mächtig stolz drauf Aber wie das öfters so ist, ist die halt noch nicht ganz perfekt.
und zwar fehlt noch, dass der Benutzer nach 2 Begriffen suchen kann, also das was google auch kann.
Wie das von der Logik alles ablaufen soll/kann ist mir klar. Nur ich finde die passenden Funktionen nicht...
Ich brauche eine die erkennt ob eine " (Leerzeichen)" oder ein"+" im Suchstring enthalten oder noch besser den String an diesen Stellen gleich teilt.
In Java gibt es paar nette Stringfunktionen die das können, daher hoffe ich mal das es die in php auch gibt.
Hab mir dazu http://www.php.net/quickref.php angeschaut nur leider wurde ich von der Menge erschlagen und habe keine Ahnung welche es davon sein könnte(n)....
Ich hoffe ihr könnt mir weiterhelfen!
mfg
ThermoTubbie /Martin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 19551
Url: https://administrator.de/contentid/19551
Ausgedruckt am: 26.11.2024 um 11:11 Uhr
4 Kommentare
Neuester Kommentar
@ThermoTubbie
Hi,
dazu kannst du z. B. die Funktion split(suchmuster,zeichenkette) benutzen.
Sie durchsucht die Zeichenkette nach einem Suchmuster und übergibt die
Teile als array einer Variablen.
$string="eins+zwei drei";
$array=split("[\" \"+]",$string);
for($x=0;$x*count($array);$x++){ Ersetze das Sternchen durch <
echo $array[$x]."*br>";Ersetze das Sternchen durch <
}
Das Suchmuster "[\" \"+]" sucht nach einem Leerzeichen oder dem Pluszeichen.
Die Anführungszeichen in den eckigen Klammern(sie bedeuten das Leerzeichen)
müssen durch den Backslash maskiert werden, deshalb sieht das ein wenig
sonderbar aus.
Ausgabe:
eins
zwei
drei
Würdest du das Pluszeichen aus dem Suchstring entfernen, so würde nur nach dem
Leerzeichen gesucht.
Ausgabe:
eins+zwei
drei
Gruß
Günni
Hi,
dazu kannst du z. B. die Funktion split(suchmuster,zeichenkette) benutzen.
Sie durchsucht die Zeichenkette nach einem Suchmuster und übergibt die
Teile als array einer Variablen.
$string="eins+zwei drei";
$array=split("[\" \"+]",$string);
for($x=0;$x*count($array);$x++){ Ersetze das Sternchen durch <
echo $array[$x]."*br>";Ersetze das Sternchen durch <
}
Das Suchmuster "[\" \"+]" sucht nach einem Leerzeichen oder dem Pluszeichen.
Die Anführungszeichen in den eckigen Klammern(sie bedeuten das Leerzeichen)
müssen durch den Backslash maskiert werden, deshalb sieht das ein wenig
sonderbar aus.
Ausgabe:
eins
zwei
drei
Würdest du das Pluszeichen aus dem Suchstring entfernen, so würde nur nach dem
Leerzeichen gesucht.
Ausgabe:
eins+zwei
drei
Gruß
Günni