0

배경 : HTML 엔티티가 포함 된 문자열을 디코딩하려고합니다. 즉 "C#"을 "c % 23"으로 변환해야합니다.Ruby에서 문자열 디코딩을위한 HTMLEntities와 URI.escape

나는 HTMLEntities 프로젝트가 일반적으로 권장된다는 것을 알았지 만, 더 간단한 해결책이라고 생각한다. CGI.escape(*string*) 또는 ERB::Util.url_encode(*string*)을 사용했다.

질문 :이 작업을 위해 CGI.escape 또는 ERB :: Util.url_encode를 사용하는 데는 어떤 이유가 있습니까? 그렇다면 레일즈 3 프로젝트에서 HTMLEntities를 얼마나 정확하게 구현할 수 있습니까? 문서에서 알아낼 수없는 것 같습니다!

+0

HTML을 혼동스럽게 생각합니다. 백분율 인코딩 (일명 URL 인코딩)이있는 엔티티. HTML 엔터티는 다음과 같습니다 : ' '이며 대부분 HTML 문서의 텍스트 영역에서 발생합니다. Percent Encoding은'Hello % 20World'처럼 보입니다. 주로 URL과 링크에서 발생합니다. –

+1

오, 실제로 Percent Encoding으로 작업하는 경우 간단한 솔루션 중 하나가 적합해야합니다. –

답변

1

각 방법의 장점이 확실하지 않습니다.

gem 'htmlentities', :git => "https://github.com/threedaymonk/htmlentities.git" 

을 실행 :

bundle install 

를 그런 다음 컨트롤러 : 당신이 일하는를 htmlentities를 얻을하려는 경우, 당신은 당신의 Gemfile에 다음을 추가 할 필요가

class TestController < ApplicationController 

    def index 
    coder = HTMLEntities.new 
    string = "<élan>" # or whatever string you want to manipulate 
    @test = coder.encode(string) # => "&lt;élan&gt;" 
    end 
end 

그런 다음 @test 변수로 원하는 모든 작업을 수행하십시오.보기 페이지 등에서 작성하십시오.