symfony和mathjax兼容性

时间:2015-12-21 21:42:38

标签: symfony twig character mathjax

经过谷歌搜索后,我的问题似乎没有得到很好的记录。

我正在开发一个包含数学的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反转降价解析器?

1 个答案:

答案 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 }}

它正在发挥作用,但这根本不是很美好。