mysql_sanitize_string/mysql_sanitize_string.sql

19 lines
454 B
SQL

DELIMITER $$
CREATE FUNCTION remove_bracketed_text(input_text TEXT)
RETURNS TEXT DETERMINISTIC
BEGIN
DECLARE output_text TEXT DEFAULT input_text;
DECLARE previous_text TEXT;
-- Loop until no more bracketed text is found
REPEAT
SET previous_text = output_text;
SET output_text = REGEXP_REPLACE(output_text COLLATE utf8mb4_unicode_ci, '\\[[^]]*\\]', '');
UNTIL output_text = previous_text
END REPEAT;
RETURN output_text;
END $$
DELIMITER ;