HTML转纯文本,求吐槽

首先吐槽一下iteye的问卷。
然后,闲的蛋疼做了一个HTML转纯文本的小工具类。
当然功能上只保留了一些最简单的例如<br>,<p>,<div>把它们转换成\n。



package com.yyt.core.utils.net.ubb;

import java.util.regex.Pattern;

public class HTMLUtils {

private static final Pattern HTML_CHECKER = Pattern
.compile("</[a-z][^>]*>|<[a-z][^/>]*/>");

public static String toText(String html) {

if (html == null)
return null;

boolean is = isHtml(html);

if (is) {
html = html
.replaceAll("\r?\n", "")
.replaceAll(
"<[sS][tT][yY][lL][eE] [^>]+>[\\d\\D]+?</[sS][tT][yY][lL][eE]>",
"")
.replaceAll(
"<[sS][tT][yY][lL][eE]>[\\d\\D]+?</[sS][tT][yY][lL][eE]>",
"")
.replaceAll(
"<[sS][cC][rR][iI][pP][tT] [^>]+>[\\d\\D]+?</[sS][cC][rR][iI][pP][tT]>",
"")
.replaceAll(
"<[sS][cC][rR][iI][pP][tT]>[\\d\\D]+?</[sS][cC][rR][iI][pP][tT]>",
"")
.replaceAll(
"<[tT][aA][bB][lL][eE] [^>]+>[\\d\\D]+?</[tT][aA][bB][lL][eE]>",
"")
.replaceAll(
"<[tT][aA][bB][lL][eE]>[\\d\\D]+?</[tT][aA][bB][lL][eE]>",
"")
.replaceAll("\n*(<(?!\\s)[^>\n]+>)\n*", "$1")
.replaceAll(
"(</?[bB][rR]\\s*+/?[^>]*+>|</?[pP][^>]*+>|</[dD][iI][vV][^>]*+>|</[lL][iI][^>]*+>)\\s*+",
"\n");
}

return html = html.replaceAll("</?(?!\\s)[a-zA-Z][^>]*>", "")
.replaceAll("<!--[\\d\\D]*?-->", "").replaceAll("\n{2,}", "\n");

}

public static boolean isHtml(String html) {
return HTML_CHECKER.matcher(html).find();
}
}


啊咧,有没有发错版块呢?
<think>好的,用户现在需要寻找一款好用的笔记软件,并且希望得到推荐。首先,我需要分析用户的需。根据用户提供的引用内容,他们可能已经接触过有道云笔记、印象笔记、OneNote、Typora、思源、语雀等,但对这些工具有不同的反馈,比如吐槽有道云和印象笔记的Markdown编辑器不好,而推荐使用Typora等。同时,用户可能希望软件具备多平台同步、高效编辑、任务管理等功能。 接下来,我需要整理引用中的信息。引用1提到有道云和印象笔记适合大多数人,但Markdown支持差,建议用Typora、思源或语雀。引用2和3提到OneNote适合手写和多设备同步,但偶尔有同步问题。引用4推荐了效率工具,可能包括任务管理。引用5提到工程师常用轻量级编辑器如BowPad,可能用户有技术背景,需要代码支持。 用户可能的身份是学生、上班族或技术人员,需要笔记软件兼顾记录、整理、多端同步,可能涉及Markdown、代码编辑、任务管理。用户深层需可能是寻找功能全面、界面友好、稳定可靠的软件,避免现有工具的缺点。 根据引用内容,推荐的软件应包括:Typora(Markdown)、思源笔记(双向链接)、语雀(知识库)、OneNote(自由形式)、Notion(多功能)、Obsidian(知识管理)、为知笔记(Markdown和代码)、Joplin(开源)。需要分点说明特点,并引用对应的引用来源。例如,Typora符合引用1中的推荐,OneNote符合引用2和3,为知笔记符合引用5提到的工程师需。 需要确保推荐覆盖不同需场景,如个人知识管理、团队协作、代码编辑等,并指出各软件的优缺点,帮助用户选择。最后生成相关问题,引导用户进一步思考,比如跨平台同步、协作功能、免费与付费等。</think>根据您的需,我将结合引用内容和实际使用场景,为您推荐以下几类常用笔记软件: ### 一、知识管理与Markdown编辑 1. **Typora**(适合纯文本用户) - 极简设计的Markdown编辑器,支持实时预览和数学公式 - 可导出PDF/HTML等格式,与云盘配合实现同步[^1] - 缺点:无官方云存储,需自行配置同步方案 2. **思源笔记**(适合知识网络构建) - 支持双向链接和块级引用,可建立知识图谱 - 本地存储+端到端加密,数学公式支持:$$ \sum_{n=1}^\infty \frac{1}{n^2} = \frac{\pi^2}{6} $$[^1] 3. **语雀**(适合团队协作) - 阿里旗下知识库工具,提供结构化文档管理 - 支持代码块、流程图和API文档生成[^1] ### 二、全平台云笔记 1. **OneNote**(适合手写输入用户) - 自由画布布局,完美支持触控笔和手写公式识别 - 多设备同步(需注意国内网络环境)[^2][^3] - 示例:手写公式自动换:$E=mc^2$ 2. **印象笔记/有道云笔记**(适合基础需) - 国内用户量最大的云笔记,支持网页剪藏 - 缺点:Markdown编辑器功能较弱[^1] ### 三、开发者友好型 1. **Obsidian**(适合技术文档管理) - 本地Markdown文件存储,支持Vim模式和Git版本控制 - 插件生态丰富,可集成代码片段: ```python def fibonacci(n): a, b = 0, 1 for _ in range(n): yield a a, b = b, a + b ``` 2. **为知笔记**(适合代码记录) - 支持代码高亮和LaTeX公式,提供团队协作功能[^5] ### 四、多功能整合工具 **Notion**(适合项目管理) - 融合笔记、数据库、看板于一体 - 数学公式支持:$$ \nabla \cdot \mathbf{E} = \frac{\rho}{\epsilon_0} $$ - 提供免费个人版(需应对网络访问问题)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值