0

ユーザーからの段落入力があります。ただし、先頭または末尾<br>の 、 empty <p>、または emptyは常に存在<div>し、これらはまったく意味がなく、出力の書式設定に影響します。Python でそれらを適切かつ正確に削除するにはどうすればよいですか?

ユーザー入力の例は次のとおりです。

<br><div></div>
<div>Hello <a href="world.html">World!</a>.</div>
<br><br>
<div>Image below:<br>
<img src="abc.jpg" /><br><br></div><p></p>

そして、私が望む理想的な結果は次のとおりです。

<div>Hello <a href="world.html">World!</a>.</div>
<br /><br />
<div>Image below:<br />
<img src="abc.jpg" /></div>

ありがとうございました。

4

2 に答える 2

2

今回の私の理解が正しければ、空のタグ、つまりテキストのないタグを削除してみてください。

>>> from BeautifulSoup import BeautifulSoup as bs
>>> tags = bs('<div></div><p></p><div>Test text.</div><p></p>').findAll()
>>> [ tag for tag in tags if tag.text ]
[<div>Test text.</div>]
于 2012-06-17T01:21:30.207 に答える
0

この機能を試してください:

get_text('', '<br/>')

タグによってテキストを複数行に分割するという同じ問題があります

'<br/>' 

この関数は、少なくとも行を 1 行に結合することができ、このタグの効果を取り除くことができます。それがうまくいくことを願っています!

于 2013-07-22T03:41:07.647 に答える