2014-06-12 4 views
0

: 루비 <script src="http://cdnjs.cloudflare.com/ajax/libs/numeral.js/1.4.5/numeral.min.js"></script> : <script src="//cdnjs.cloudflare.com/ajax/libs/numeral.js/1.4.5/numeral.min.js"></script>프로토콜 상대 URL을 표준 HTTP로 변환하려면 어떻게해야합니까? 나는 이와 같은 프로토콜 상대 URL을 지원하지 않습니다 <a href="https://github.com/wkhtmltopdf/wkhtmltopdf" rel="nofollow">wkhtmltoimage</a> 유틸리티를 사용하고있어

나는로 변환해야합니다. URL에 이러한 유형의 가장 효율적인 방법을 궁금하네요. 정규 표현식을 작성한 다음 http: 앞에 붙여 넣는 방법을 알아낼 수 없습니다.

미리 감사드립니다.

답변

0

당신은 그것을 위해 펄을 사용할 수 있습니다

perl -pi -e 's/src="\/\//src="http:\/\//' * 

이 문은 위의 디렉토리에있는 모든 패턴을 대체합니다.

+0

감사합니다. 쉬운 일임을 깨달았어야합니다. – kartikluke

+1

'

0

바로 HTML과 URI에 대한 URI 파서에 대한 HTML 파서 사용, 여기 Regexp의를 사용할 필요가 없습니다 :

require 'nokogiri' 
require 'uri' 

doc = Nokogiri.HTML(<<-EOHTML) 
    <script 
    src="//cdnjs.cloudflare.com/ajax/libs/numeral.js/1.4.5/numeral.min.js"> 
    </script> 
EOHTML 

doc.xpath('//script[@src]').each do |script| 
    uri = URI.parse(script['src']) 
    uri.scheme = 'http' if uri.scheme.nil? 
    script['src'] = uri.to_s 
end