Files
html/api/ambre-tool-calc.php
2026-04-22 00:00:06 +02:00

23 lines
795 B
PHP

<?php
header("Content-Type: application/json; charset=utf-8");
$in = json_decode(file_get_contents("php://input"), true) ?: $_POST ?: $_GET;
$expr = trim($in["expression"] ?? $in["q"] ?? "");
if (!$expr) { echo json_encode(["error"=>"expression required"]); exit; }
// Sanitize: allow only numbers, operators, parens, decimal
$safe = preg_replace('/[^0-9+\-*\/().\s,]/', '', $expr);
$safe = str_replace(",", ".", $safe);
if (!$safe) { echo json_encode(["error"=>"invalid expression"]); exit; }
try {
$result = @eval("return ($safe);");
echo json_encode([
"expression" => $expr,
"sanitized" => $safe,
"result" => $result,
"provider" => "WEVIA Calc",
]);
} catch (Throwable $e) {
echo json_encode(["error"=>"eval failed", "expression"=>$expr]);
}