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
Patricia ArquetteOriginal
2024-12-06 09:12:10948Durchsuche

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 ;

Durch die Verwendung dieser Funktion wird die Abfrage zu:

SELECT * from table WHERE fnStripTags(column_name) LIKE '%mytext%'

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!

Stellungnahme:
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