我需要通过POST数据从文本区域保留制表符.似乎没有办法将制表符与$_POST数组中的空格区分开,这确实让我感到沮丧.
我从这里开始使用jQuery插件,以允许在textarea中使用制表符和移位制表符.
http://teddevito.com/demos/textarea.html
jQuery插件将其用作其Tab字符:
$.fn.tabby.defaults = {tabString : String.fromCharCode(9)};
由于某种原因,它显示了一个单独的空格而不是每个制表符,所以我所有的代码格式都丢失了:
<textarea name="field0" rows="26" cols="123"><?PHP
echo $_POST['field0'];
?></textarea>
这也不起作用.显然,这些选项卡在数据甚至到达str_replace函数之前就消失了(第一个双引号是当我在文本编辑器中按TAB时产生的结果):
<textarea name="field0" rows="26" cols="123"><?PHP
echo str_replace(" ","\t",$_POST['field0']);
?></textarea>
我需要制表符而不是多个空格的原因是因为我的应用程序包含在线代码编辑器.
最佳答案
嗯,这有点像用火箭筒杀死一只蚂蚁,但是您可以在发布数据之前使用base64编码:
http://plugins.jquery.com/project/base64
并使用以下代码对其进行解码:
http://www.php.net/manual/en/function.base64-decode.php
它应该工作得很好,但是它增加了您的请求大小.