是否隐形的加入了 \r\n?

cutemurphy 2012-05-28 09:05:28
在记事本里 我们敲回车 文本会换行 是否隐形的加入了 \r\n?
我们如何去匹配呢?
就好像在编辑这个问题一样,敲一下就换行,是如何实现的?
...全文
68 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2012-05-28
  • 打赏
  • 举报
回复
从技术角度讲, 一方面驱动层有事件, 另一方面你也只是从标准输入写了一个东西进去, 系统调用read是可以读到的..
黄袍披身 2012-05-28
  • 打赏
  • 举报
回复
就好像在编辑这个问题一样,敲一下就换行,是如何实现的?

那你可能得研究一下操作系统是怎么捕获键盘发送过来的回车指令了.

另外你的匹配不知道是个什么意思 正则吗?还是说回车触发的事件
xuzuning 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
在记事本里 我们敲回车 文本会换行 是否隐形的加入了 \r\n?
我们如何去匹配呢?
就好像在编辑这个问题一样,敲一下就换行,是如何实现的?
[/Quote]是的
window \r\n
linux \n
mac \r

跨系统匹配需用正则表达式 /[\r\n]+/
当前操作系统的 PHP_EOL
  • 打赏
  • 举报
回复
js控制的,这样:
Demo:

<html>
<head>
<script language="javascript">
ns4 = (document.layers) ? true : false;
ie4 = (document.all) ? true : false;
function keyDown(e){
if(ns4){
var nkey=e.which;
var iekey='现在是ns浏览器';
var realkey=String.fromCharCode(e.which);
}
if(ie4){
var iekey=event.keyCode;
var nkey='现在是ie浏览器';
var realkey=String.fromCharCode(event.keyCode);
if(event.keyCode==32){realkey='\' 空格\''}
if(event.keyCode==13){realkey='\' 回车\''}
if(event.keyCode==27){realkey='\' Esc\''}
if(event.keyCode==16){realkey='\' Shift\''}
if(event.keyCode==17){realkey='\' Ctrl\''}
if(event.keyCode==18){realkey='\' Alt\''}
}
document.write('ns浏览器中键值:'+nkey+'\n'+'ie浏览器中键值:'+iekey+'\n'+'实际键为'+realkey);
}
document.onkeydown = keyDown;
if(ns4){
document.captureEvents(Event.KEYDOWN);
}
</script>
</head>
<body>
//Javascript Document.
<hr>
<center>
<h3>请按任意一个键。。。。</h3>
</center>
</body>
</html>

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧