Heim > Datenbank > MySQL-Tutorial > Wie entferne ich HTML-Tags effektiv aus Datenbankeinträgen, um genaue Suchergebnisse zu erhalten?

Wie entferne ich HTML-Tags effektiv aus Datenbankeinträgen, um genaue Suchergebnisse zu erhalten?

Patricia Arquette
Freigeben: 2024-12-06 09:12:10
Original
946 Leute haben es durchsucht

How to Effectively Remove HTML Tags from Database Records for Accurate Search Results?

So entfernen Sie HTML-Tags effektiv aus Datenbankdatensätzen

Beim Extrahieren bestimmter Informationen aus einer Datenbanktabelle mit HTML-formatiertem Text ist es aus Gründen der Genauigkeit wichtig, die HTML-Tags zu entfernen Ergebnisse. Während eine einfache LIKE-Abfrage wie „WHERE Column_name LIKE ‚%mytext%‘“ alle Zeilen abrufen kann, die „mytext“ enthalten, kann sie auch Zeilen umfassen, in denen „mytext“ in HTML-Tags vorkommt.

Um dieses Problem zu beheben, Ein effektiverer Ansatz besteht darin, eine benutzerdefinierte MySQL-Funktion zu erstellen, die gezielt HTML-Tags aus einer bestimmten Zeichenfolge entfernt. Hier ist der Code für eine solche Funktion:

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

Durch die Verwendung dieser Funktion wird die Abfrage zu:

SELECT * from table WHERE fnStripTags(column_name) LIKE '%mytext%'
Nach dem Login kopieren

Jetzt gibt die Abfrage nur Zeilen zurück, in denen „mytext“ innerhalb der erscheint Inhalt selbst, mit Ausnahme aller Instanzen innerhalb von HTML-Tags. Dies liefert genauere und relevantere Ergebnisse und stellt sicher, dass nur die gewünschten Daten abgerufen werden.

Das obige ist der detaillierte Inhalt vonWie entferne ich HTML-Tags effektiv aus Datenbankeinträgen, um genaue Suchergebnisse zu erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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