Я хочу опубликовать такой термин, как
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();
PY:
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)))
Я могу опубликовать такие термины, как
5+x+4
без каких-либо проблем, получить решение и отобразить его на моем веб-сайте.
Но для любого термина с такими скобками, как (или {или [, ошибки броска обработки, или я не получал бы уведомления в PHP.
Я также попытался удвоить скобки, подобные ((или {{или [[но это не будет иметь эффекта.
Кто-нибудь знает, как получить решение для моей проблемы.
Хорошо, я нашел решение для себя! Проблема заключалась в том, что я установил строку следующим образом:
PHP:
$param="5+(x+4)";
Я изменил это на:
$param="'5+(x+4)'";
Теперь он работает так, как ожидалось...