从 HTML 标签中删除属性
我有一些如下所示的 HTML:
<div class="foo">
<p id="first">Hello, world!</p>
<p id="second">Stack Overflow</p>
</div>
它需要返回如下:
<div>
<p>Hello, world!</p>
<p>Stack Overflow</p>
</div>
我更喜欢 Python 解决方案,因为我已经在需要的程序中使用 BeautifulSoup被使用不过,如果 PHP 是更好的解决方案,我愿意接受。我认为 sed 正则表达式还不够,特别是将来可能使用 <文本中的符号(我不控制输入)。
Possible Duplicates:
php: how can I remove attributes from an html tag?
How do I iterate over the HTML attributes of a Beautiful Soup element?
I have some HTML like the following:
<div class="foo">
<p id="first">Hello, world!</p>
<p id="second">Stack Overflow</p>
</div>
And it needs to come back as this:
<div>
<p>Hello, world!</p>
<p>Stack Overflow</p>
</div>
I'd prefer a Python solution, as I'm already using BeautifulSoup in the program it needs to be used in. However, I'm open to PHP if that's a better solution. I don't think a sed regular expression would be enough, especially with the possible future use of the < symbol in the text (I don't control the input).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这也适用于 sed,
<([a-zA-Z!]+)[^>]+>
然后将其替换为第一组,例如
<\1>
this works also with sed,
<([a-zA-Z!]+)[^>]+>
then just replace by the first group like,
<\1>
在 Python 中,通过使用 Lxml 可以轻松实现这一点。
首先安装 Lxml 并尝试以下代码:
This is easily possible in Python by using Lxml.
First install Lxml and try the following code: