Ankündigung

Einklappen
Keine Ankündigung bisher.

Anfangszeichen von Wörtern in einen Text

Einklappen

Neue Werbung 2019

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

  • Anfangszeichen von Wörtern in einen Text

    Hallo,

    ich möchte meine Variable als Anfangszeichenkette von einen Wort in einen Text finden und diese ausgeben. Ich weiß nicht, ob sowas bei MySQL überhaupt funktioniert.

    Sprich:
    $variable = 'Baumh';
    $text = 'Mein Baumhaus ist toll';

    Was ich nicht möchte:
    $variable = 'aumh';
    $text = 'Mein Baumhaus ist toll';

    Das 2. Beispiel kann man ja ganz einfach Lösen mit MySQL. (WHERE text LIKE '%aumh%').

  • #2
    WHERE text LIKE '% aumh%' OR text LIKE 'aumh%'
    Might work. Not tested.
    [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
    [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

    Kommentar


    • #3
      Zitat von Condor93 Beitrag anzeigen
      Hallo,

      ich möchte meine Variable als Anfangszeichenkette von einen Wort in einen Text finden und diese ausgeben. Ich weiß nicht, ob sowas bei MySQL überhaupt funktioniert.

      Sprich:
      $variable = 'Baumh';
      $text = 'Mein Baumhaus ist toll';

      Was ich nicht möchte:
      $variable = 'aumh';
      $text = 'Mein Baumhaus ist toll';

      Das 2. Beispiel kann man ja ganz einfach Lösen mit MySQL. (WHERE text LIKE '%aumh%').

      Das geht mit regulären Ausdrücken, \m ist der Wortanfang.

      Code:
      test=*# create table suchtext(id int, t text);
      CREATE TABLE
      Time: 48,887 ms
      test=*# insert into suchtext values (1, 'Mein Baumhaus ist toll');
      INSERT 0 1
      Time: 0,361 ms
      test=*# select * from suchtext where t ~ '\mBaumh';
       id |           t
      ----+------------------------
        1 | Mein Baumhaus ist toll
      (1 row)
      
      Time: 0,493 ms
      test=*# select * from suchtext where t ~ '\maumh';
       id | t
      ----+---
      (0 rows)
      Du bist damit auch nicht auf das Leerzeichen vorher angewiesen:

      Code:
      test=*# insert into suchtext values (2, 'Baumhaus ist toll');
      INSERT 0 1
      Time: 0,154 ms
      test=*# select * from suchtext where t ~ '\mBaumh';
       id |           t
      ----+------------------------
        1 | Mein Baumhaus ist toll
        2 | Baumhaus ist toll
      (2 rows)
      
      Time: 0,250 ms
      test=*# select * from suchtext where t ~ '\maumh';
       id | t
      ----+---
      (0 rows)
      Ob MySQL das kann ist aber eine Frage, die ich nicht weiß.
      PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

      Kommentar


      • #4
        Danke VPh... da hab ich wohl nicht ganz zuende nachgedacht...

        Kommentar


        • #5
          http://dev.mysql.com/doc/refman/5.7/en/regexp.html

          Dort nach "word boundaries" suchen.
          Wenn man die Wurst schräg anschneidet, hält sie länger, weil die Scheiben größer sind.

          Kommentar

          Lädt...
          X