Ruby 응용 프로그램에서 Redcloth를 사용하려하고 있는데 두 개의 인수 만 있어도 wrong number of arguments (3 for 2)
오류가 발생합니다. http://redcloth.rubyforge.org/classes/RedCloth/Formatters/HTML.html#M000052 여기Redcloth를 사용하여 "잘못된 인수 수 (2에 대해 3)"가 나타나는 이유는 무엇입니까?
def clean_html(text, allowed_tags = BASIC_TAGS)
text.gsub!(/<!\[CDATA\[/, '')
text.gsub!(/<(\/*)([A-Za-z]\w*)([^>]*?)(\s?\/?)>/) do |m|
raw = $~
tag = raw[2].downcase
if allowed_tags.has_key? tag
pcs = [tag]
allowed_tags[tag].each do |prop|
['"', "'", ''].each do |q|
q2 = (q != '' ? q : '\s')
if raw[3] =~ /#{prop}\s*=\s*#{q}([^#{q2}]+)#{q}/i
attrv = $1
next if (prop == 'src' or prop == 'href') and not attrv =~ %r{^(http|https|ftp):}
pcs << "#{prop}=\"#{attrv.gsub('"', '\\"')}\""
break
end
end
내 로그입니다 :
def self.cleanup(string)
if string == "" || string == nil
""
else
string = self.iconvert(string, "ascii", "utf8")
RedCloth.include(RedCloth::Formatters::HTML)
redcloth = RedCloth.new(string)
redcloth.html_esc(string)
string = string.strip
string = string.gsub(/''/,"\"")
string = string.gsub(/\r/," ")
string = string.gsub(/\n/," ")
string = string.gsub(/\<br \/\>/," ")
string = string.gsub(/\<br\/\>/," ")
string = string.gsub(/ /," ")
redcloth.clean_html(string, {})
string
end
end
이 소스 코드입니다 : 여기
내 코드의I, [2013-07-16T12:22:53.095073 #12321] INFO -- : wrong number of arguments (3 for 2)
I, [2013-07-16T12:22:53.095281 #12321] INFO -- : /home/emai/.rvm/gems/[email protected]/gems/RedCloth-4.2.9/lib/redcloth/formatters/base.rb:46:in `method_missing'
좋습니다. – Edmund