Skip to content

Instantly share code, notes, and snippets.

@pascalmouret
Created October 13, 2014 13:45
Show Gist options
  • Save pascalmouret/e315f36029a32cae9970 to your computer and use it in GitHub Desktop.
Save pascalmouret/e315f36029a32cae9970 to your computer and use it in GitHub Desktop.
MySQL strip_tags function
delimiter ||
DROP FUNCTION IF EXISTS strip_tags||
CREATE FUNCTION strip_tags( x text) RETURNS text
LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA
BEGIN
DECLARE sstart INT UNSIGNED;
DECLARE ends INT UNSIGNED;
SET x = CONCAT('<p>', x, '</p>');
SET sstart = LOCATE('<', x, 1);
REPEAT
SET ends = LOCATE('>', x, sstart);
SET x = CONCAT(SUBSTRING( x, 1 ,sstart -1), SUBSTRING(x, ends +1 )) ;
SET sstart = LOCATE('<', x, 1);
UNTIL sstart < 1 END REPEAT;
return x;
END;
||
delimiter;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment