我有一个非常愚蠢和恼人的问题,我试图将html转换成markdown,但我的html格式很傻:我一直有这样的东西:
<strong>Ihre Aufgaben:<br/></strong>
或者
^{pr2}$这是完全有效的HTML。在
但是,要转换为Markdown(HTML2Text)的“我的库”将其转换为:
**Ihre Aufgaben:\n**
以及
** \nÜber die XXXX GmbH:\n**
这是一个already reported issue,因为降价无效,无法正确呈现
我对这个问题的处理方法如下:
strong
<br/>
分成两组:一组在文本之前,另一组在文本之后。在<strong>
我的代码(格式还不太好):
soup = BeautifulSoup(html)
emphased = soup.find_all('strong')
for single in emphased:
children = single.children
before = 0
foundText = None
after = 0
for child in children:
if not isinstance(child, NavigableString):
if foundText:
after += 1
child.unwrap()
else:
before += 1
# DOES NOT WORK
child.unwrap()
else:
foundText = single.get_text().strip()
我现在的问题是什么?
我想把<br/>
放在内容之前,并把它们放在元素<strong>
之前,但我无法做到这一点(并且在文档中没有找到如何继续)。在
我更希望实现什么目标?:
我想改变这一点:
<strong> <br/>Über die XXXX GmbH: </strong>
进入
# Note the space
(whitespace)<br/><strong>Über die XXXX GmbH:</strong>(whitespace)
它不一定要用靓汤,我只是不知道其他的解决办法。在
提前谢谢!在
根据您的示例,您可以从
strong
中提取所有的br
标记,并将它们前置,用新的标记替换最新的标记。在下面是一个片段:
哪些输出:
<br/><strong>Ihre Aufgaben:</strong>
相关问题 更多 >
编程相关推荐