我要用字符串中的 url 替换一些关键字,例如,
content.replace("Google","<a href="http://www.google.com">Google</a>")
但是,如果关键字还没有包含在 url 中,我只想用 url 替换关键字。
内容是简单的HTML:
<p><b>This is an example!</b></p><p>I love <a href="http://www.google.com">Google</a></p><p><a href="http://www.google.com"><img src="/google.jpg" /></a></p>
主要是<a>和 <img>标签。
主要问题:如何确定关键字是否已包含在 <a> 中或 <img>标签?
这是 PHP 中的一个类似问题 find and replace keywords with urls ONLY if not already wrapped in a url ,但答案不是一个有效的答案。
Python 有没有更好的解决方案?最好有代码示例。谢谢!
请您参考如下方法:
我正在使用 Beatiful Soup用于解析我的 HTML,因为 parsing带有正则表达式的 HTML 可以..被证明是棘手的。如果你用漂亮的汤,你可以玩弄previous_sibling和 previous_element 弄清楚你需要什么。
您以这种方式互动:
soup.find_all('img')
