我正在开发一个包含数学的symfony博客。所以我试图使用mathjax。它运作良好,但问题是角色'&'并且'\\'不会像在网页中那样发送(当我查看firefox的源代码时,字符是:'& amp;'和'\')。
内容存储在数据库中,数据库中的字符是正确的。 有解决问题的干净方法吗?也许是Mathjax方面或Symfony方面?
我曾尝试使用原始树枝过滤器,但源代码中的字符仍然相同。
非常感谢:)
修改
我使用 knplabs / knp-markdown-bundle 和默认过滤器打印帖子内容:post.content|markdown
,当我退出|markdown
时,字符是正确的但我还没有减价转换...
编辑2:在搜索一个上午后,我发现了我的问题。我,我将markdown解析为后端(php),然后javascript解析html(markdown - > mathjax)。但通常情况下,所有这些都是用这种意义上的javascript完成的:mathjax - >降价。就像在这个应用程序中:https://github.com/kerzol/markdown-mathjax。
所以我的新问题是,有没有办法让mathjax反转降价解析器?
答案 0 :(得分:0)
我自己找到了答案,但不是很优雅。我想要的是在$ $和$$ $$之间解析文本。所以我做到了:
$html = $this->container->get('markdown.parser')
->transformMarkdown($post->getContent());
$html = str_replace('&', '&', $html);
$html = str_replace('\', '\\\\', $html);
$html = str_replace('<em>', '_', $html);
$html = str_replace('</em>', '_', $html);
$post->setContent($html);
并在视图中:
{{ post.content|raw }}
它正在发挥作用,但这根本不是很美好。