Strip HTML tags

from the Artful Common Queries page


Ported from a T-SQL function by Robert Davis:
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 ;
SELECT fnStripTags("This sentence doesn\'t have > 1 tag pairs, it is a test, nothing more") AS Test;
+----------------------------------------------------------------------+
| Test                                                                 |
+----------------------------------------------------------------------+
| This sentence doesn't have > 1 tag pairs, it is a test, nothing more |
+----------------------------------------------------------------------+

Return to the Artful Common Queries page