diff --git a/src/insets/InsetBibitem.cpp b/src/insets/InsetBibitem.cpp index 3b77c8e0a5..6decdce7f4 100644 --- a/src/insets/InsetBibitem.cpp +++ b/src/insets/InsetBibitem.cpp @@ -351,7 +351,8 @@ docstring InsetBibitem::xhtml(XHTMLStream & xs, OutputParams const &) const // need to use "name" anyway, eventually, because some browsers do not // handle jumping to ids. If we don't do that, though, we can just put the // id into the span tag. - string const attrs = "id='LyXCite-" + to_utf8(getParam("key")) + "'"; + string const attrs = + "id='LyXCite-" + to_utf8(html::cleanAttr(getParam("key"))) + "'"; xs << html::CompTag("a", attrs); xs << html::StartTag("span", "class='bibitemlabel'"); xs << bibLabel(); diff --git a/src/insets/InsetBibtex.cpp b/src/insets/InsetBibtex.cpp index 21e5f774ad..8f33a2de3c 100644 --- a/src/insets/InsetBibtex.cpp +++ b/src/insets/InsetBibtex.cpp @@ -960,7 +960,8 @@ docstring InsetBibtex::xhtml(XHTMLStream & xs, OutputParams const &) const xs << html::StartTag("div", "class='bibtexentry'"); // FIXME XHTML // The same name/id problem we have elsewhere. - string const attr = "id='LyXCite-" + to_utf8(entry.key()) + "'"; + string const attr = + "id='LyXCite-" + to_utf8(html::cleanAttr(entry.key())) + "'"; xs << html::CompTag("a", attr); docstring citekey; if (numbers)