Мне нужно сохранить символы табуляции из текстового поля через POST Data. Кажется, что нет возможности дифференцировать вкладки из пробелов в массиве $ _POST, и это действительно расстраивает меня.
Я использую плагин jQuery отсюда, чтобы использовать вкладку и перемещение + вкладки в текстовом поле. 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>
Причина, по которой мне нужны вкладки, а не несколько пробелов, заключается в том, что мое приложение включает редактор он-лайн кода.
У кого-нибудь есть идеи? Я предполагаю, что это решение будет связано с изменением данных с помощью javascript перед отправкой через POST, но я не имею ни малейшего понятия, как начать.
Ну, это немного похоже на убийство муравья с bazooka, но вы можете использовать кодировку base64 перед POST данными:
http://plugins.jquery.com/project/base64
и декодировать его с помощью:
http://www.php.net/manual/en/function.base64-decode.php
Он должен работать очень хорошо, но это увеличивает размер вашего запроса.