2016-02-15 12 views
5

W PHP mogę czytać wejście z programu wiersza poleceń za pomocą następującego koduPHP: Dodawanie Strzałka Wsparcie klucz do standardowego wejścia/Single przetwarzanie Charakter

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

Działa to dobrze dla prostego wejścia. Jednak, gdy próbuję użyć coś jak plecy strzałkę, moja skorupa wygląda to po

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

, klucz sekwencja ucieczki strzała ^[[D wysyłany jest do powłoki. Samo PHP interpretuje klawiszy strzałek - czyli inputing ten

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

wyjście będzie to

This is a second test 

Jednak chciałbym muszlę do „prawidłowo” (czyli to, co myślę, że powinni robić , nie dosłownie to, co wysłałem) interpretować klawisze strzałek, aby punkt wstawiania poruszał się podczas pisania.

Czy to możliwe w PHP? Z rozszerzeniem? Bez rozszerzenia? Próbowałem wariacji fgets($stream, 1), ale wydaje się, że PHP po prostu zawiesza się, dopóki użytkownik nie wprowadzi klucza Enter.

+1

Są lata, że ​​próbują go; Mam nadzieję, że ktoś ma rozwiązanie! – fusion3k

Odpowiedz