1

ユーザーが指定したパラメーターが必要な関数がいくつかあります。

パラメータは主に文字です。私が抱えている問題は、PHP では、"\n""\t".

ユーザーが同じ入力を行えるようにしたい。(改行の場合は「\n」と入力します...)

私が抱えている問題は、次のようなコードがある場合です。

$character1 = "\n";
$character2 = $_POST["line_break"]; // the user input is "\n"

var_dump($character1);
var_dump($character2);

出力は次のようになります。

string(1) "
"
string(2) "\n"

最初のものは私が欲しいものです。

私が考えることができる唯一の解決策は、可能なすべての入力の文字をチェックし、次のように置き換えることです。

if ($character2 == "\\n") $character2 = "\n";
elseif ($character2 == "\\t") $character2 = "\t";
elseif ...

これはかなり汚い解決策のようです。私が望む結果を達成するための、より簡単でクリーンな方法は他にありますか?


いずれにせよ、ユーザー インターフェイスは Ajax 要求で動作するため、唯一の方法である場合、ソリューションは JavaScript ソリューションでもかまいません。

4

1 に答える 1

1

evalPHP の関数は注意して使用できます。

$character2 = eval('return "' . $_REQUEST["line_break"] . '";');

$_REQUEST["line_break"]引用された値を返すため、使用の明らかなリスクをeval回避できることに注意してください。

于 2014-08-11T10:39:24.363 に答える