gpt4 book ai didi

ruby - 使用 Nokogiri 提取文本保留链接

转载 作者:行者123 更新时间:2023-12-04 16:20:16 25 4
gpt4 key购买 nike

如何从以下内容中提取文本 <p>同时保留<a>标签

<p>
Some <a href="http://somewhere.com">link</a> going somewhere.
<ul>
<li><a href="http://lowendbox.com/">Low end</a></li>
</ul>
Some trailing text.
</p>

预期输出:
Some <a href="http://somewhere.com">link</a> going somewhere.
<a href="http://lowendbox.com/">Low end</a>
Some trailing text.

我能想到的唯一解决方案是覆盖 Nokogiri text方法和递归 children ,希望有一些简单的解决方案。

最佳答案

你不能有 ul内部 p像那样,因此任何将其解析为 html4 或 html5 的尝试都将失败。这留下了正则表达式,它可以很容易地解决这个问题:

str = <<EOF
<p>
Some <a href="http://somewhere.com">link</a> going somewhere.
<ul>
<li><a href="http://lowendbox.com/">Low end</a></li>
</ul>
Some trailing text.
</p>
EOF
puts str.gsub(/<\/?(p|ul|li)>/,'')

# Some <a href="http://somewhere.com">link</a> going somewhere.
#
# <a href="http://lowendbox.com/">Low end</a>
#
# Some trailing text.

关于ruby - 使用 Nokogiri 提取文本保留链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43808030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com