|
@@ -114,6 +114,10 @@ public class RichTextConverter implements TagConstant {
|
|
|
} else if (TAG_A.equals(node.nodeName())) {
|
|
|
// 处理音频
|
|
|
processAudio(element, blocks);
|
|
|
+
|
|
|
+ if (!node.childNodes().isEmpty()) {
|
|
|
+ splitBlocks(node.childNodes(), blocks);
|
|
|
+ }
|
|
|
} else if (TAG_B.equals(node.nodeName()) || TAG_STRONG.equals(node.nodeName())) {
|
|
|
// 处理文本 加粗
|
|
|
Param param = new Param();
|
|
@@ -185,13 +189,12 @@ public class RichTextConverter implements TagConstant {
|
|
|
String id = element.attr(ATTR_ID);
|
|
|
String name = element.attr(ATTR_NAME);
|
|
|
if (StringUtils.isBlank(id) || StringUtils.isBlank(name) || !name.endsWith(AUDIO_SUFFIX)) {
|
|
|
- // 按文本处理
|
|
|
- // processText(element.text(), null, blocks);
|
|
|
+ // 按链接处理
|
|
|
+ // processLink(element, blocks);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
String url = element.attr(ATTR_URL);
|
|
|
-
|
|
|
Block block = new Block();
|
|
|
block.setType(BlockType.audio);
|
|
|
block.setValue(url);
|
|
@@ -206,6 +209,20 @@ public class RichTextConverter implements TagConstant {
|
|
|
blocks.add(block);
|
|
|
}
|
|
|
|
|
|
+ private static void processLink(Element element, List<Block> blocks) {
|
|
|
+ String href = element.attr(ATTR_HREF);
|
|
|
+ String text = element.text();
|
|
|
+ if (StringUtils.isBlank(href) || StringUtils.isBlank(text)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ Block block = new Block();
|
|
|
+ block.setType(BlockType.link);
|
|
|
+ block.setValue(href);
|
|
|
+ block.setExt1(text);
|
|
|
+ blocks.add(block);
|
|
|
+ }
|
|
|
+
|
|
|
private static void processText(String value, Param param, List<Block> blocks) {
|
|
|
if (StringUtils.isBlank(value)) {
|
|
|
return;
|