【发布时间】:2010-08-31 11:48:14
【问题描述】:
我在 mysql 上有一列保存为 LONGTEXT。此文本保存富文本。我目前正在阅读所有文本,然后使用 javascript 对其进行修复,以获取第一个 100 字符,而不是在中间拆分单词。
然而,这种方式似乎并不是最好的方式。我想直接使用查询选择摘要,但我也想注意不要包含 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 ;
【问题讨论】:
标签: mysql text summarization