xactise
Messages postés507Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention22 juin 20122 8 déc. 2010 à 11:33
Pour ce que sa interesse il existe une procédure a déclare dans MySQL pour pouvoir faire ce genre de requête la voici
USE NOM_BDD_ICI
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 ;
et ensuite peut s'utiliser aisaiment sur la BDD déclarer de cette manière
SELECT * FROM `table` WHERE fnStripTags(`champ`) LIKE "%bonjour%"
fnStripTags va se charger de strip_tags le contenu HTML du champ
cs_ludwig59
Messages postés128Date d'inscriptionlundi 21 avril 2008StatutMembreDernière intervention 6 mai 20112 3 déc. 2010 à 14:38
Bonjour,
Personnellement, je ne sais pas si c'est la bonne méthode, mais lorsque j'enregistre ce genre de champ en BDD, je crée un 2ème champ qui contient le contenu sans le html (avec strip_tags) que j'utilise pour les requêtes de recherche.