![]() |
1
2
我想我解决这个问题的方法是把它看成一个简单的浏览器。创建一个基标记类,使用innerhtml属性和一个虚拟方法printElement将其抽象化。 接下来,为您关心的每个HTML标记创建类,并从您的基类继承。从您的示例来看,您最关心的标签是h1、p、a和hr。实现printElement方法,使其返回一个字符串,该字符串根据innerhtml正确打印出元素(例如p类的printElement将返回“\n[innerhtml]\n”)。 接下来,构建一个解析器,该解析器将通过HTML进行解析,并确定要创建哪个对象,然后将这些对象添加到队列中(树会更好,但对于您的目的来说似乎不必要)。 最后,遍历调用每个元素的printElement方法的队列。 可能比你计划的要多,但这是一个比简单使用regex强大得多的解决方案,如果你决定在将来改变主意并想显示简单的样式,这只是返回并修改printElement方法的问题。 |
![]() |
2
1
有关信息,用regex剥离HTML是…充满了微妙的问题。这个 HTML Agility Pack 可能会更强壮,但仍然会遭受“一起流血”的痛苦:
|
![]() |
3
0
一种方法是分三步剥离HTML:
|
![]() |
4
0
好吧,我需要关闭这个,尽管没有理想的解决方案。由于我的应用程序中使用的HTML标记非常常见(没有表格、列表等),很少或没有嵌套,所以我所做的就是在用户输入后保存HTML片段之前先对其进行预处理。
在将它们提取出来显示为纯文本之前,请使用regex删除HTML标记并保留换行符。几乎没有什么火箭科学,但对我有用。 |
![]() |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
![]() |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
![]() |
Manny · 如何比较Perl中的字符串? 2 年前 |
![]() |
Manan Girdhar · 拆分字符串并仅在java中使用第二部分 2 年前 |
![]() |
AnxiousLuna · Python使用len()获取数组索引数 2 年前 |
![]() |
antonoyaro8 · 数据帧中每列上的Grepl 2 年前 |