Exaktes Wort finden im gesamten Text

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Exaktes Wort finden im gesamten Text

    Hallo,
    ich scripte und probiere nun seit Stunden und komme auf keinen Gründen Zweig.

    Folgendes habe ich vor:

    Ich habe ein ARRAY mit ein paar Worten:

    $worte = array ("Wort1","Wort2");

    Und dann noch einen vollständigen Text (irgend einen):

    $meintext = "Das ist ein Text, in dem das Wort1 vorkommt.";

    Jetzt will ich folgendes tun:

    Ich möchte herausfinden, ob $worte, also einer der Array Werte im Text vorkommt.

    aber

    und jetzt kommt das Problem: Das Wort muss vollständig und allein also selbständig vorkommen und nicht, weil es als zufällige Buchstabenkombination in einem anderen Wort enthalten ist.

    Ist eigentlich ganz logisch, aber kompliziert, ich kriege es mit strrpos() nicht hin.

    Beispiel:

    Im Text:

    $worte = array ("Banane","Apfel");

    $text = "Eine Banane ist gelb.";

    soll dann ein Wert ausgegeben werden, der mir zeigt, aha, im $text ist das Wort BANANE enthalten.

    Im folgenden aber, soll das Wort BANANE nicht erkannt werden, weil es nicht als selbständiges Wort, sondern innerhalb eines Wortes auftaucht:

    $text2 = "Eine Bananenstaude gibts auf der Insel";

    das Wort Bananenstaude ist ungleich Banene, es enthält lediglich das Wort.


    Wer hat eine Idee ?

  • #2
    Re: Exaktes Wort finden im gesamten Text

    Reguläre Ausdrücke kennen Wortgrenzen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      PHP-Code:
      $string 'Bananen gibt es auf dieser Bananeninsel viele';
      $suche 'bananen';
      preg_match('/\\b'.$suche.'\\b/i',$string); 
      \b sollte dafür sorgen dass es nur Treffer gibt wenn das Wort an einer Wortgrenze steht \bwort\b findet nur wort aber nicht wortlaut, wo hingegen \bwort auch wortlaut finden würde.

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar

      Lädt...
      X