Heim > Datenbank > MySQL-Tutorial > Wie kann ich Datenbankeinträge effizient durchsuchen, nachdem ich HTML-Tags in MySQL entfernt habe?

Wie kann ich Datenbankeinträge effizient durchsuchen, nachdem ich HTML-Tags in MySQL entfernt habe?

Mary-Kate Olsen
Freigeben: 2025-01-01 00:17:17
Original
947 Leute haben es durchsucht

How Can I Efficiently Search Database Records After Removing HTML Tags in MySQL?

HTML-Tags aus Datenbankdatensätzen entfernen

In MySQL kann das Entfernen von HTML-Tags aus einer bestimmten Spalte mithilfe bestimmter Techniken erreicht werden. Betrachten Sie die folgenden Daten:

SELECT *
FROM table
WHERE colmn_name ` like '%mytext%'
Nach dem Login kopieren

Diese Abfrage gibt alle vier Zeilen zurück, obwohl nur Zeile 3 „mytext“ im Inhalt enthält. Um das gewünschte Ergebnis zu erhalten, ist nur Zeile 3 ein präziserer Ansatz erforderlich.

Eine Lösung besteht darin, eine benutzerdefinierte Funktion (UDF) zu verwenden, um die HTML-Tags zu entfernen. Hier ist ein Beispiel:

SET GLOBAL log_bin_trust_function_creators=1;
DROP FUNCTION IF EXISTS fnStripTags;
DELIMITER |
CREATE FUNCTION fnStripTags( Dirty varchar(4000) )
RETURNS varchar(4000)
DETERMINISTIC 
BEGIN
  DECLARE iStart, iEnd, iLength int;
    WHILE Locate( '<', Dirty ) > 0 And Locate( '>', Dirty, Locate( '<', Dirty )) > 0 DO
      BEGIN
        SET iStart = Locate( '<', Dirty ), iEnd = Locate( '>', Dirty, Locate('<', Dirty ));
        SET iLength = ( iEnd - iStart) + 1;
        IF iLength > 0 THEN
          BEGIN
            SET Dirty = Insert( Dirty, iStart, iLength, '');
          END;
        END IF;
      END;
    END WHILE;
    RETURN Dirty;
END;
|
DELIMITER ;
Nach dem Login kopieren

Diese Funktion, fnStripTags(), sucht und entfernt iterativ alle HTML-Tags aus der angegebenen Eingabezeichenfolge. Es kann wie folgt in einer Abfrage verwendet werden:

SELECT *
FROM table
WHERE fnStripTags(colmn_name) LIKE '%mytext%'
Nach dem Login kopieren

Diese überarbeitete Abfrage gibt nur Zeile 3 zurück, die „mytext“ in ihrem Nicht-HTML-Inhalt enthält.

Das obige ist der detaillierte Inhalt vonWie kann ich Datenbankeinträge effizient durchsuchen, nachdem ich HTML-Tags in MySQL entfernt habe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage