我有一个Rails 4应用程序(使用RedCarpet)和一个看起来像的辅助方法:
def markdown(text)
options = {
escape_html: true,
hard_wrap: true,
link_attributes: { rel: 'nofollow', target: "_blank" },
space_after_headers: true,
fenced_code_blocks: true
}
extensions = {
autolink: true,
superscript: true,
disable_indented_code_blocks: true
}
renderer = Redcarpet::Render::HTML.new(options)
markdown = Redcarpet::Markdown.new(renderer, extensions)
markdown.render(text).html_safe
end
我的问题是,如果有人插入例如[Example here](www.example.com)
,然后进行解析,并且有人点击该链接,则会转到 www.mywebsite.com/www.example.com ,而不是 www.example.com 。
我该如何解决这个问题?
答案 0 :(得分:0)
对我来说,使用"[Example here](www.example.com)"
和RedCarpet 3.0运行方法会返回以下内容:
"<p><a href=\"www.example.com\" rel=\"nofollow\" target=\"_blank\">Example here</a></p>\n"
因此,它似乎是您应用程序中的其他内容。如果您在客户端注意到这个问题(即点击浏览器中的链接),我的猜测就是在HTML中的某个地方。我会搜索你的应用程序的文件目录,特别是任何HTML,“www.mywebsite.com”。