나는 긁고있는 웹 사이트에 제공된 댓글 메시지의 텍스트를 다시 만들려고하지만 텍스트가 텍스트 사이에 이미지가있는 경우를 처리하는 데 문제가 있습니다. 이미지는 스마일 이모티콘입니다.Nokogiri를 사용하여 이미지 태그 앞에 몇 개의 문자가 있는지 찾는 방법은 무엇입니까?
예를 들어, 다음과 같은 코멘트는 아래의 HTML로 (이하 "고도을"척 실제 이미지입니다) 나타납니다
text text text blah blah blah :3some more text that will come directly after
<div>
"text text text blah blah blah "
<img src="/smiley.png" width="16" height="16" alt=":3" title>
"some more text that will come directly after"
</div>
내가 할 수있는 방법이 있었다 기대했다
수 <img ...>
전에 문자 수 String의 메서드를 사용하여 alt 텍스트에 메시지 자체를 삽입하십시오.
누구나 다른 아이디어가 있거나 그러한 솔루션을 구현하는 방법을 알고 있습니까? 내가 DIV 요소에 inspect
를 호출 할 때
, 나는 다음과 같은 얻을 : 나는이를 게시하기 전에 할 수 몰랐
[#<Nokogiri::XML::Element:0x3fda6dc527cc name="div" children=[#<Nokogiri::XML::Text:0x3fda6dc52484 "text text text blah blah blah ">, #<Nokogiri::XML::Element:0x3fda6dc523a8 name="img" attributes=[#<Nokogiri::XML::Attr:0x3fda6dc52330 name="src" value="/smiley.png">, #<Nokogiri::XML::Attr:0x3fda6dc52308 name="width" value="16">, #<Nokogiri::XML::Attr:0x3fda6dc522b8 name="height" value="16">, #<Nokogiri::XML::Attr:0x3fda6dc522a4 name="alt" value=":3">]>, #<Nokogiri::XML::Text:0x3fda6d487470 "some more text that will come directly after">]>]
. 나는 어린이 목록/배열이 개별적으로 액세스 될 수 있다고 확신합니까?
나는이 div 요소를 문자열로 바꾸고 파싱을 사용하여 원하는 것을 얻었습니다.
누구나 좀 더 세련된 해결책이 있다면 알려주십시오! 나는 그것에 대해 더 많은 것을 배우기 위해 모두 다.
무엇을 시도 했습니까? 예를 들어 그리드 내용을 가져 오는 경우 출력은 무엇입니까? – lcguida
그리드 컨텐츠가 무엇인지 모르겠지만 해결책을 찾은 것 같습니다. 학습 경험을 위해 그리드 콘텐츠가 무엇인지 설명해 주시겠습니까? – intellectualtheft
죄송합니다. 나는 div를 의미하고 그리드를 썼다. 실수로 정말 슬퍼. – lcguida