2016-02-15 3 views
5

В PHP я могу читать ввод из программы командной строки с помощью следующего кодаPHP: Добавление Arrow Key поддержки в STDIN/Single Character Обработка

$stream = STDIN; 
$test = fgets($stream); 
echo $test; 

Это хорошо работает для простого ввода. Однако, если я пытаюсь использовать что-то вроде кнопки возврата стрелки, моя оболочка выглядит следующим образом

This is a test^[[D^[[D^[[D  

т.е. клавиша со стрелкой последовательность выхода из ^[[D отправляются в оболочку. Сам PHP будет интерпретировать клавиши со стрелками - т.е. inputing этот

This is a test^[[D^[[D^[[D^[[Dsecond test  

выведет на экран этот

This is a second test 

Однако, я хотел бы оболочку «правильно» (то есть делать то, что я думаю, что они должны делать , а не буквально то, что я отправил) интерпретировать клавиши со стрелками, чтобы точка ввода перемещалась при наборе текста.

Возможно ли это на PHP? С расширением? Без расширения? Я пробовал варианты fgets($stream, 1), но кажется, что PHP просто зависает, пока пользователь не вводит ключ ввода.

+1

ли лет, что я пытаюсь его; Надеюсь, у кого-то есть решение! – fusion3k

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^