Удаление HTML-тегов в MySQL-запросе



Для осуществления задуманного надо создать пользовательскую функцию
DROP FUNCTION IF EXISTS StripTags;
DELIMITER |
CREATE FUNCTION StripTags( 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 ;

Ну и для того,чтобы получить чистый текст без HTML-кода запрос делается с использованием этой функции
SELECT StripTags(`fieldname`) FROM `tablename`;




Комментарии



gleba, 09.10.2013
код не удаляет теги содержащие кавычки, например <p style=""
Добавить комментарий:
Ваше имя:


Сайт:



Текст комментария:
Код с картинки: