代码之家  ›  专栏  ›  技术社区  ›  Lotus Notes

保留发布数据中的选项卡

  •  3
  • Lotus Notes  · 技术社区  · 16 年前

    我需要通过发布数据保留文本区域中的制表符。似乎没有办法区分$后置数组中的制表符和空格,这让我很沮丧。

    我在这里使用jquery插件来允许在文本区域内使用tab和shift+tab。 http://teddevito.com/demos/textarea.html

    jquery插件将其用作制表符:

    $.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>
    

    我之所以需要选项卡而不需要多个空格,是因为我的应用程序包含在线代码编辑器。

    有人有什么想法吗?我猜解决方案可能包括在通过post发送数据之前用javascript修改数据,但我一点也不知道如何开始。

    1 回复  |  直到 16 年前
        1
  •  3
  •   Cesar    16 年前

    这有点像用火箭筒杀死一只蚂蚁,但在发布数据之前,您可以使用base64编码:

    http://plugins.jquery.com/project/base64

    并用以下代码进行解码:

    http://www.php.net/manual/en/function.base64-decode.php

    它应该能很好地工作,但是它会大大增加你的请求。