symfony 和 mathjax 兼容性

symfony and mathjax compatibility

在 google 上多次搜索后,我的问题似乎没有得到很好的记录。

我正在开发一个包含数学的 symfony 博客。所以我尝试使用 mathjax。它运行良好,但问题是字符 '&' 和 '\\' 没有像在网页中那样发送(当我查看 firefox 的源代码时,字符是:'& amp;' 和'& #92;').

内容已存入数据库,数据库中字符正确。 有解决问题的干净方法吗?也许是 Mathjax 方面或 Symfony 方面?

我试过使用原始树枝过滤器,但源代码中的字符仍然相同。

非常感谢:)

编辑: 我使用 knplabs/knp-markdown-bundle 和默认过滤器来打印 post 内容:post.content|markdown,当我退出 |markdown 时,字符是正确,但我没有降价转换...

编辑 2: 好的,经过一上午的搜索,我发现了我的问题所在。我,我将 markdown 解析到后端 (php),然后 javascript 解析 html (markdown -> mathjax)。但通常,在这种意义上,所有操作都是使用 javascript 完成的:mathjax -> markdown。就像在这个应用程序中一样:https://github.com/kerzol/markdown-mathjax.

所以我的新问题是,有没有办法让 mathjax 反转 markdown 解析器?

我自己找到了答案,但不是很优雅。我想要的是解析 $ $ 和 $$ $$ 之间的文本。所以我做到了:

$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 }}

它正在工作,但这一点也不漂亮。