symfony和mathjax的兼容性

问题描述:

经过很多谷歌搜索,似乎我的问题没有很好的记录。symfony和mathjax的兼容性

我正在开发一个包含数学的symfony博客。所以我试图使用mathjax。它的效果很好,但问题是,字符'&'和'\'不会像网页中那样发送(当我查看Firefox的源代码时,字符是:'& amp;'和'\')。

内容存储在数据库中,数据库中的字符正确。 有没有干净的方法来解决问题?也许由Mathjax方面或Symfony方面?

我试过使用原始树枝过滤器,但字符在源代码中仍然是一样的。

非常感谢你:)

编辑: 我用knplabs/KNP-降价束过滤器的默认打印帖子内容:post.content|markdown,当我退休|markdown人物是正确的,但我没有降价转换...

编辑2:好了一个搜索的早晨后,我发现我的问题是什么。我,我解析减价到后端(PHP),然后JavaScript解析HTML(markdown - > mathjax)。但通常,所有这些都是在这个意义上用javascript来完成的:mathjax - > markdown。就像在这个应用程序:https://github.com/kerzol/markdown-mathjax

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

+0

您可以尝试禁用autoescape:http://twig.sensiolabs.org/doc/tags/autoescape.html。如果你仍然有困难,那么用一些样本树枝更新你的问题。 – Cerad

+0

你可以提供更多信息吗?它如何存储?你如何检索内容? Symfony没什么特别的,它会阻止你做你想做的事。 – Ryan

+0

@Cerad“数据库中的字符是正确的”,它的打印方式如下:''post.content | markdown''。今天早上,我试图删除降价过滤器,它告诉我,这是过滤器,它转换字符。我使用默认过滤器的** knplabs/knp-markdown-bundle ** – onda47

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

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

这是工作,但,这不是美丽的。