У меня есть столбец, сохраненный как LONGTEXT
на mysql. Этот текст сохраняет богатый текст. В настоящее время я читаю весь текст, а затем исправляю его с помощью javascript, чтобы получить первые символы 100
, чтобы не разбить слово в середине.Как выбрать часть текста в mysql?
Но этот способ не представляется лучшим способом сделать это. Я хочу выбрать резюме напрямую с помощью запроса, но я также хочу быть осторожным, чтобы не включать символы, которые являются тегами html.
Функция, показанная ниже, отлично работает, чтобы удалить html.
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 ;
Вы уверены, от этой функции? Я пробовал это, и это заняло много времени, и до сих пор он не возвращал результат, как если бы он входил в бесконечный цикл. – Luci
Я беру эту функцию из комментариев сайта mysql. Я ссылаюсь на эту страницу: http://dev.mysql.com/doc/refman/5.0/en/string-functions.html, он запускает эту функцию и получает результаты, что размер вашей области? –
вы можете посмотреть другую функцию тэгов в сети, я нашел другую в http://www.artfulsoftware.com/infotree/queries.php?&bw=1280 или в http://www.discussweb.com/database-support/ 4575-how-strip-html-tags-mysql.html –