我在前端有一个表单,其中有两个由隐藏输入分隔的文本区域,如下所示:
<textarea name="top">
blah
blah
</textarea>
<input type="hidden" name="foo" value="some string" />
<textarea name="bottom">
blah
blah
</textarea>
当我在服务器端得到这个表单时,我想在隐藏输入前后插入一个换行符,如下所示:
$text = $_Post['top'] . "n" . $_Post['foo'] . "n" . $_Post['bottom'];
为了在我的程序稍后使用换行符作为分隔符,如下所示:
$arrayOfTextSplitByNewlines = explode("n", $text);
我的问题是,我添加到字符串中的换行符不会被分解为换行符,而是被视为字符串文字。我试过单引号、双引号、转义换行符等,但出于某种原因,它们只是字符串。你知道我做错了什么吗?
内爆!感谢@barmar给了我将其作为数组发送的想法。由于上述原因,我不想这么做,但我能够从字符串中构建一个数组:
$textArray = array($_POST['top'], $_POST['foo'], $_POST['bottom']);
然后使用换行符作为分隔符对其进行内爆。
$text = implode("n", $textArray);
在整个代码的其他地方,其他一切都如所希望的那样工作。不知道为什么它以前没有内爆就不起作用,所以如果你有任何见解,我洗耳恭听。再次感谢@barmar