dod*_*747 2 html ruby regex ruby-on-rails image
下午所有,
我正在尝试编写一个脚本,通过其<img src=""/>标签从文章中提取第一个图像.所以如果一篇文章有:
<p>Lorem ipsum dolor sit amet, labore et dolore magna aliqua.<img src="example.jpg"/> Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>
Run Code Online (Sandbox Code Playgroud)
我想提取整个图像标签, <img src="example.jpg"/>.
我发现这个正则表达式只提取图像的位置:
content_to_extract_from[/img.*?src="(.*?)"/i,1]
Run Code Online (Sandbox Code Playgroud)
生产,"example.jpg".
有没有人知道将捕获标签的正则表达式?
提前谢谢,安迪
Fre*_*ung 10
使用正则表达式解析标记是一件麻烦事.你可以写一些大部分有用的东西,但是会打破你没预见到的案例.例如,您可以使用单引号而不是双引号括起属性,这是正则表达式无法处理的
更可靠的是使用真正的解析器,例如nokogiri
html = Nokogiri::HTML.fragment('<p>Lorem ipsum dolor sit amet, labore et dolore magna aliqua.<img src="example.jpg"/> Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>')
html.css('img').collect(&:to_s) #=> ["<img src=\"example.jpg\">"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1281 次 |
| 最近记录: |