Oliver: reguläre Ausdrücke

Hallo.
ich suche ein REGEXP-Schema, mit welchem ich in einer MySQL-DB innerhalb einer Tabelle/Spalte nach bestimmten Ausdrücken suchen kann, aber im String (evtl.) befindliche HTML-Tags ausnehme.

1.) Beispiel:
Suchbegriff: 'title'
Wert in Datenbank: [...]'<head><title>Ueberschrift</title></head><body><div title="eine Beschreibung">Hier kommt Content mit einem Titel im Body</div>'[...]

Die Anfrage darf nun KEIN positives Ergebnis bringen, da 'title' nur innerhalb von HTML-Tags auftreten - und ich möchte ja HTML-Tags NICHT durchsucht haben.

Wer kann mich hier unterstützen?
Vielen Dank im voraus

Gruß
Oliver L.

  1. Die Anfrage darf nun KEIN positives Ergebnis bringen, da 'title' nur innerhalb von HTML-Tags auftreten - und ich möchte ja HTML-Tags NICHT durchsucht haben.

    Wer kann mich hier unterstützen?

    Ich.

    Warum entfernst Du nicht einfach alles, was dem Muster <.*?> entspricht und durchsuchst dann den ganzen String (dazu braucht man dann keine regular expressions mehr)?

    1. Warum entfernst Du nicht einfach alles, was dem Muster <.*?> entspricht und durchsuchst dann den ganzen String (dazu braucht man dann keine regular expressions mehr)?

      Danke, aber wie würde dann eine SELECT-Abfrage aussehen?
      Oliver L.

      1. yo,

        Danke, aber wie würde dann eine SELECT-Abfrage aussehen?

        eine möglichkeit wäre es mit LIKE abzufragen, wobei darauf zu achten ist, dass kein index benutzt werden kann und kein leerzeichen zwischen title und > stehen sollte.

        SELECT .....
        WHERE spalte LIKE '%title%' AND spalte NOT LIKE '%title>%'

        Ilja

        1. SELECT .....
          WHERE spalte LIKE '%title%' AND spalte NOT LIKE '%title>%'

          Ilja, das haut nicht hin, da 'title' ja nur ein Beispiel ist und ich ja SÄMTLICHE Tags ausnehmen möchte (auch '<img...>').
          Auch wären bei Deinem Beispiel die XML-konformen HTML-Tags auch nicht ausgenommen ('<br/>' usw.)

          Wer weiß weiter?
          Danke
          Oliver L.

          1. yo,

            Ilja, das haut nicht hin, da 'title' ja nur ein Beispiel ist und ich ja SÄMTLICHE Tags ausnehmen möchte (auch '<img...>').
            Auch wären bei Deinem Beispiel die XML-konformen HTML-Tags auch nicht ausgenommen ('<br/>' usw.)

            dann habe ich dich wohl falsch verstanden. ich dachte, es soll nur felder ausgenommen werden, die title als html tag haben. aber um der sache noch mal nachzugehen. soll ein datensatz ausgeschlossen werden, der zwar über das ein word title verfügt, aber bei dem irgendwo ein beliebiger hmtl tag vorkommt, sprich ein </br> würde reichen um den datensatz auszuschließen ?

            Ilja

      2. Warum entfernst Du nicht einfach alles, was dem Muster <.*?> entspricht und durchsuchst dann den ganzen String (dazu braucht man dann keine regular expressions mehr)?

        Danke, aber wie würde dann eine SELECT-Abfrage aussehen?
        Oliver L.

        Du liest alle aus und filterst nachher. SQL kennt normalerweise keine regulären Ausdrücke.