1

我有一些功能需要用户提供一些参数。

参数主要是字符。"\n"我遇到的问题是,在 PHP 中,通过键入和来创建换行符和制表符非常容易"\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 ...

这似乎是一个非常肮脏的解决方案。有没有其他更简单或更清洁的方法来达到我想要的结果?


该解决方案也可以是 JavaScript 解决方案,如果它是唯一的方法,因为无论如何用户界面都将使用 Ajax 请求。

4

1 回答 1

1

您可以小心eval使用PHP 的功能

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

请注意,由于我们返回的引用值取自$_REQUEST["line_break"]一些明显的使用风险,eval因此可以避免。

于 2014-08-11T10:39:24.363 回答