Ankündigung

Einklappen
Keine Ankündigung bisher.

Suche und formatiere das Wort....

Einklappen

Neue Werbung 2019

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

  • Suche und formatiere das Wort....

    Hallo liebe community!


    ich habe ein kleines problem... ich stehe grade wie der Ochse vorm berg...
    vllt kann mir jemand helfen oder hat zufällig einen schnipsel irgendwo rumfliegen...


    Nun zu meinem Problem

    Ich habe einen text in einer tabelle meiner Datenbank. Um genau zu sein ein Text von einem Kapitel.(tbl_ff_kap -> kap_txt)
    Dieses Text möchte ich gern nach bestimmten Worten durchsuchen lassen die sich in einer anderen tabelle befinden (tbl_whitelist -> ges_wort)
    Wenn dieses Wort im Text vorhanden ist, soll es mit einem css versehen werden. Egal wie oft dieses Wort im Text vorkommt...


    ich hab mittlerweile schon viel probiert.. mit text ersetzen durch bla... aber irgendwie sehe ich scheinbar den Wald vor lauter bäumen nicht mehr...
    ich wäre glücklich wenn man mir heute abend noch jemand helfen könnte... vllt auch mit einem Code Schnipsel~


    ich wäre wirklich sehr dankbar


  • #2
    in mysql würde ich die Kapitel pauschal so durchsuchen
    Code:
    SELECT DISTINCT
    kapitel.id,
    kapitel.text,
    woerter.suchwort AS suchwort
    FROM
    kapitel,
    woerter
    WHERE
    kapitel.text LIKE CONCAT('%',woerter.suchwort,'%')
    nach dem 4. mal lesen hab ich dein frage verstanden
    Code:
    SELECT DISTINCT
    @suchwort := w.wort,
    k.text AS text_alt,
    REPLACE(k.text,@suchwort,CONCAT('<MEIN_TAG>',@suchwort,'</MEIN_TAG>')) AS text_neu
    FROM 
    woerter AS w, 
    kapitel AS k

    Kommentar


    • #3
      na ich würde es eben gerne in php machen... es ist eben so gedacht das Wörter das auf der Whitelist stehen hervor gehoben werden...~ also sprich die worte im string suchen und hervor heben

      Kommentar


      • #4
        in php wo ist das problem hier noch was für mysql die funktioniert besser hab grade die ganze zeit dran gefeilt

        Du musst nur den Qureey anpassen und <MEIN_TAG> durch zb <span class="abcd">...</span> ersetzten

        Code:
        SELECT DISTINCT
        @text := k.text,
        @i := IF (@i>0, @i, 0)+1,
        (SELECT @text := REPLACE(@text,s.suchwort,CONCAT('<MEIN_TAG>',s.suchwort,'</MEIN_TAG>')) FROM `kapitel` WHERE id = k.id) AS text_neu
        FROM suche AS s,
        kapitel AS k
        WHERE k.id = 21
        ORDER BY @i DESC
        LIMIT 1
        in php führe dir str-replace oder preg_replace zugute
        die suchwörter dann in einer schleife ersetzten

        Kommentar


        • #5
          ok gut dankeschön, ich werds mal probieren, vllt haut das tatsächlich besser hin~

          Kommentar


          • #6
            Sonst melde dich dann machen wir das in php
            Wird auch einfacher sein

            Beim nächsten post den Code mit Posten was schon versuch wurde

            Kommentar

            Lädt...
            X