在 PHP 中使用 Telnet 发送退格或删除

Posted

技术标签:

【中文标题】在 PHP 中使用 Telnet 发送退格或删除【英文标题】:Send Backspace or Delete using Telnet in PHP 【发布时间】:2012-04-29 22:54:19 【问题描述】:

我正在使用这段漂亮的代码连接到 Telnet 会话并向其发送一些命令并获取输出。

http://www.geckotribe.com/php-telnet/

我现在遇到了一个问题,我想删除 Telnet 会话中的一些数据并用一些其他数据替换它。 (不确定这是否可能??)

例如:它提示 continue N - 我需要删除那个 N 并在那里放置一个 Y。

这个函数发送命令...注意\r,有什么东西可以模拟退格或删除吗?

 function DoCommand($c,&$r) 
    if ($this->fp) 
        fputs($this->fp,"$c\r");
        $this->Sleep();
        $this->GetResponse($r);
        $r=preg_replace("/^.*?\n(.*)\n[^\n]*$/","$1",$r);
    
    return $this->fp?1:0;

【问题讨论】:

【参考方案1】:

退格的控制字符是0x08(您可以将它添加到PHP中的字符串中,如"\x08")。

【讨论】:

网络上有没有这些东西的清单? @and_27_y,当然,这些是ASCII control characters。

以上是关于在 PHP 中使用 Telnet 发送退格或删除的主要内容,如果未能解决你的问题,请参考以下文章

当使用退格键或删除按钮提交按钮颜色不改变

Xshell删除键不好使:删除显示退格^H

backspace是啥键

HBase笔记之远程Shell界面命令行无法删除字符的解决方案

bat退格符

如何在 php 中将 Ctrl+c 发送到 telnet 套接字?