In PHP, kann ich mit dem folgenden Code in der Eingabe eines Kommandozeilen-Programm lesenPHP: Hinzufügen von Pfeiltaste Unterstützung STDIN/Einzelzeichenverarbeitung
$stream = STDIN;
$test = fgets($stream);
echo $test;
Diese für einfache Eingabe gut funktioniert. Allerdings, wenn ich versuche, so etwas wie eine Zurück-Pfeil-Taste zu verwenden, meine Shell sieht wie folgt aus
This is a test^[[D^[[D^[[D
das heißt, die Pfeiltaste Escape-Sequenz von ^[[D
an die Schale gesendet. PHP selbst wird mit den Pfeiltasten interpretieren - dh diese jedoch
This is a test^[[D^[[D^[[D^[[Dsecond test
ausgeben wird diese
This is a second test
inputing ich die Schale möchte „richtig“ (dh das tun, was ich denke, sie tun sollten , nicht wörtlich, was ich gesendet habe) interpretiere die Pfeiltasten so, dass sich der Einfügepunkt beim Tippen bewegt.
Ist das in PHP möglich? Mit einer Erweiterung? Ohne eine Erweiterung? Ich habe versucht, Variationen von fgets($stream, 1)
, aber es scheint wie PHP hängt nur, bis der Benutzer eine Enter-Taste eingibt.
Jahre sind, dass ich es versuchen; Ich hoffe jemand hat eine Lösung! – fusion3k