3

私は最近、PHPCLIの魅力的な世界に入りました。

次に、ubuntuターミナルでスクリプトを実行し、矢印キーを押すと、カーソルを移動する代わりに、エスケープコード^ [[A ^ [[B ^ [[C^[[D。

通常の端末を使用しても問題は発生しません。だから私は私のスクリプトに何かが通常の振る舞いを妨げると思います。

誰かが解決策を持っていますか?

助けてくれてありがとう!

編集:

入力をキャッチするために使用するSTDINのようですが、問題があります。STDIN入力を待っていると、端末に間違った文字が表示されます!! どうすればこれを解決できますか?

4

1 に答える 1

2

fgets(STDIN)この呼び出しを、readline()少なくともLinux環境で使用できる関数に置き換えることをお勧めします。readlineライブラリはOSXには付属していませんが、個別にインストールすることはできます。

// $input = fgets(STDIN);
$input = readline('Input: ');

行編集が必要な唯一の理由が、ドラッグアンドドロップされたファイルパスから余分な´文字を削除することである場合は、スクリプト内の文字列から余分な文字をいつでも削除できます。

$input = readline('Input: ');
$input = trim($input, '´');
于 2012-05-26T10:07:44.550 に答える