如何 post 带括号的术语 PHP 到 Sympy

How to post a term with brackets with PHP to Sympy

我想 post 像

这样的词
5+(x+4)

从 PHP 通过 Python 到 Sympy 以简化表达式。

为此,我使用以下代码: PHP:

$param="5+(x+4)";
$command="python $PathToPySkript $param"; //# '$param2' '$param3'";
$buffer='';
ob_start(); // prevent outputting till you are done
passthru($command);  
$buffer=ob_get_contents();
ob_end_clean();

年:

import sys
from sympy import *
from sympy.parsing.sympy_parser import *
from sympy.solvers import solve
from sympy import Symbol
x = Symbol('x')
transformations=(standard_transformations + (implicit_multiplication_application,) + (function_exponentiation,)+(convert_xor,))      
print(latex(parse_expr(sys.argv[1], transformations=transformations)))

我能够 post 像

这样的条款
5+x+4

没有任何问题,检索解决方案并将其显示在我的网站上。

但是对于任何带有方括号的术语,例如 ( 或 { 或 [,处理会抛出错误,否则我将不会在 PHP 中得到任何通知。

我也尝试将括号加倍,例如 (( 或 {{ 或 [[ 但这不会有任何效果。

有没有人知道如何为我的问题找到解决方案。

好的,我自己找到了解决办法! 问题是我设置了这样的字符串:

PHP:

$param="5+(x+4)";

我将其更改为:

$param="'5+(x+4)'";

现在它按预期工作了...