解析Redmine插件联系人帮助台HTML邮件时没有换行符
也许有人在Redmines contacts helpdesk插件和HTML邮件解析方面也有类似的问题 在我的例子中,在上次更新Redmine 4.0.6.stable和contacts helpdesk插件v4.1.7之后,HTML邮件没有换行符,这使得问题难以阅读…解析Redmine插件联系人帮助台HTML邮件时没有换行符,redmine,redmine-plugins,Redmine,Redmine Plugins,也许有人在Redmines contacts helpdesk插件和HTML邮件解析方面也有类似的问题 在我的例子中,在上次更新Redmine 4.0.6.stable和contacts helpdesk插件v4.1.7之后,HTML邮件没有换行符,这使得问题难以阅读… 帮助台插件: 经过一段时间的调查,我发现,改变从以前的更新插件是主要原因。具体来说,内容解析已从“在插件中执行”更改为“使用redmine基本功能” 代码参考功能:helpdesk\u mailer\u support.rb第2
帮助台插件: 经过一段时间的调查,我发现,改变从以前的更新插件是主要原因。具体来说,内容解析已从“在插件中执行”更改为“使用redmine基本功能” 代码参考功能:helpdesk\u mailer\u support.rb第293行(方法纯文本\u正文) 最后一个问题是,解析html的基本redmine功能使用
Loofah.document(html)
方法.text
,而不是使用.to_text
不同之处在于,
.text
将产生lineablenec
和.to\u text
将产生lineA\nlineB\nlineC
,这将在redmine问题中显示换行符
代码更改(helpdesk\u mail\u support.rb):
if Redmine::VERSION.to_<'3.1'
def html_body_to_text(html)
#剥离html标记并删除doctype指令
html.gsub!%r{^[]+},'
如果重新挖掘Helpdesk.strip\u标签?
html.gsub!%r{(?:.|\n |\r)+?},'
html.gsub!%r{},“\r\n”
html.gsub!%r{},“\r\n\r\n”
html.gsub!%r{},'-'
html.gsub!%r{]*>},“\r\n”
html.sub!%r{^false))
.带.挤压(“”)
.gsub(/^+/,'')
结束
#换车到此结束
结束
if Redmine::VERSION.to_s < '3.1'
def html_body_to_text(html)
# strip html tags and remove doctype directive
html.gsub! %r{^[ ]+}, ''
if RedmineHelpdesk.strip_tags?
html.gsub! %r{<head>(?:.|\n|\r)+?<\/head>}, ''
html.gsub! %r{<\/(li|ol|ul|h1|h2|h3|h4)>}, "\r\n"
html.gsub! %r{<\/(p|div|pre)>}, "\r\n\r\n"
html.gsub! %r{<li>}, ' - '
html.gsub! %r{<br[^>]*>}, "\r\n"
html.sub! %r{^<!DOCTYPE .*$}, ''
html.strip
end
end
def plain_text_body_to_text(text)
text.gsub(/^ +(?![*#])/, '')
end
# change starts here
else
def html_body_to_text(html)
doc = Loofah.document(html)
Loofah.remove_extraneous_whitespace(doc.to_text(:encode_special_chars => false))
.strip.squeeze(' ')
.gsub(/^ +/, '')
end
# change ends here
end