String suchen/finden

Hierein gehört alles, was in den übrigen Foren keinen Platz findet. // Please post here in case your topic doesn't fit enywhere else.
Antworten
Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

String suchen/finden

Beitrag von dave » 30.03.2015, 20:53:26

Hi zusammen,
vielleicht kann mir jemand von euch weiter helfen oder mit nen passenden Tipp geben.

Als Beispiel nehmen wir an, ich habe folgenden String:

Code: Alles auswählen

Heute ist verdammt schoenes Wetter
Darin möchte ich nun auf ein Vorkommen der Art

Code: Alles auswählen

heute verdammt wet
suchen. Da dies ja so irgendwie enthalten ist, soll der gesamte String "Heute ist verdammt schoenes Wetter" ausgegeben werden.
Wie lässt sich das am einfachsten realisieren? Danke für eure Unterstützung :)

Benutzeravatar
Paric
Beiträge: 45
Registriert: 25.08.2014, 08:51:04

Re: String suchen/finden

Beitrag von Paric » 31.03.2015, 07:35:20

moin dave,

möchtest Du den String haben wenn einer der gesuchten Strings darin vorkommt, oder wenn sie alle darin enthalten sind? So oder so würde ich es über die Funktion strpos versuchen zu lösen.

so in der Art:

Code: Alles auswählen

function searchString(array $arrSearch, $foo)
{
  $found = FALSE;
  foreach ($arrSearch as $search)
  {
    $found = strpos($foo, $search)? TRUE : $found;
  }
  return $found? $foo : FALSE;
}
Einfach mal aus der Hüfte und ungetestet gepostet. Hier bekommst Du $foo halt zurück, sobald eines der gesuchten Strings, welche per array an die Funktion übergeben werden, enhalten ist. Willst Du allerdings erst eine Ausgabe wenn alle Strings enthalten sind, müsste das vermutlich so aussehen:

Code: Alles auswählen

function searchString(array $arrSearch, $foo)
{
  $found = TRUE;
  foreach ($arrSearch as $search)
  {
    $found = !strpos($foo, $search)? FALSE : $found;
  }
  return $found? $foo : FALSE;
}
Beste Grüße,
Pit

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: String suchen/finden

Beitrag von dave » 31.03.2015, 17:42:19

Hi Pit,
danke für deine Anregung aber mit strpos() bzw. stripos() habe ich schon experimentiert. Das Ergebnis war allerdings nicht zufrieden stellend. Ich erkläre es mal etwas genauer:

Ich nutze jQuery-Autocomplete: http://jqueryui.com/autocomplete/
Anhand dessen soll mein User den zu ihm passenden Markt anhand von Name und Adresse finden. Die Problematik: Ich weiss nicht, was der User nun genau angibt, möchte aber je nachdem immer ein Ergbnis präsentieren.
Beispiel:

Code: Alles auswählen

Aldi Markt, Brunnenstraße 132, 13355 Berlin Wedding
So sieht ein Datensatz aus.
Gibt der User nun in das Input-Feld

Code: Alles auswählen

Aldi brunnen
soll das Ergebnis präsentiert werden. Mit strpos() wird das allerdings nicht klappen, da das "markt" vom Aldi Markt fehlt. Ich habe mir eine Funktion gebastelt, welche mittlerweile nach ganzen worten sucht. Das heisst:

Code: Alles auswählen

aldi markt
oder

Code: Alles auswählen

aldi brunnenstraße
führen zu einem Ergebnis.

Code: Alles auswählen

aldi brunnen
allerdings noch nicht. Da werde ich nun nochmal mit strpos() zusätzlich arbeiten müssen.

Was mich allerdings wundert: Ich habe dem Autocomplete einfach alle Datensätze übergeben, dieses gibt dann jedoch auch alles aus, ohne auf meine Eingabe zu reagieren. Doofes Ding ;)


[EDIT]
Das Geheimnis sind reguläre Ausdrücke. Darum komme ich in dem Fall nicht mehr herum. Ich arbeite dran, macht euch erstmal keinen Kopf weiter, ausser ihr habt was in der Schublade liegen ;)

Antworten

Wer ist online?

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