생성 : 나는 모든 a
태그의 href
속성을 잡고 해시의 배열을 구축 할 노코 기리를 사용하고내가 문자열이 문자열이 포함 탈출 보간
<ul>
<li><a href="/<%= @home %>/">welcome</a></li>
</ul>
합니다. 내가 기대하고있다 :
[{
:href => "/#{ @home }/",
:title => "welcome"
}]
내가이 스크립트 시도 : 결과 문자열이 자동으로 이스케이프
doc = Nokogiri::HTML(open(file))
menu = []
doc.css('a').each do |item|
menu.push({
:href => item[:href].gsub(/<%=(.*)%-?>/, "\#{\\1}"),
:title => item.text
})
end
을; 해시 기호 앞에 여분의 백 슬래시가 있음을 확인하십시오.
[{
:href => "/\#{ @home }/",
:title => "welcome"
}]
이유를 알 수 없습니다. 어떤 아이디어?
를 "내가 밖으로 이유를 알아낼 수 없습니다"- 당신 자신 때문에 이스케이프 된 해시 기호를 삽입하십시오. –
이중 따옴표로 묶은 문자열로 이스케이프 처리하지 않고 gsub에서 보간합니다. 작은 따옴표로 묶은 문자열에서 이스케이프 처리되지 않은 #을 사용하여 시도했습니다. 같은 결과. –
@AndreiSerdeliuc, 시도'puts menu [0] [: href]' – falsetru