Funzione strip_tags in Mysql
Avevo necessità di cercare in una tabella delle frasi formattate in html, e temevo di dover scaricare la tabella in questione e poi farne il parsing, quando invece ho trovato la soluzione in MySql:
delimiter || DROP FUNCTION IF EXISTS strip_tags|| CREATE FUNCTION strip_tags( x longtext) RETURNS longtext LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA BEGIN DECLARE sstart INT UNSIGNED; DECLARE ends INT UNSIGNED; 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 ;
Ed ecco un esempio d’uso:
SELECT strip_tags('<a href="HelloWorld.html"><B>Hello, world!</B></a>') as strip_tags;
Ringrazio l’autore della funzione Stephen Gornick, per l’aiuto.
Ovviamente meglio non usarla su tabelle con milioni di record

Non male, bookmarko in caso mi servisse