【问题标题】:Detect tab indent from text file从文本文件中检测制表符缩进
【发布时间】:2014-11-07 13:52:47
【问题描述】:

当用户按下 Tab 键时,我试图检测在文件 (file.txt) 中创建的空间。我可以检测到其他所有内容,但在这种情况下,似乎什么都没有,就像没有空格的新行。

$file = fopen('file.txt','r');
while ($line = fgets($file)) {

    $space = mb_substr($line, 0, 1, 'utf-8');
    //$tab = ????? 

    if ($space==' ') { /*DO SOMETHING*/ }else{ echo($line); }
    if ($tab) { /*DO SOMETHING ELSE*/ }else{ echo($line); }

}
fclose($file);

【问题讨论】:

  • 不明白你想要达到什么目的。标签码是\t
  • 制表符被称为“\t”。寻找那个,或者寻找 html 字符代码。
  • this的回答。
  • 问题是它没有给我任何字符,因为该文件是一个没有任何 html 元素的普通文件。我只有 2 行

标签: php


【解决方案1】:

试试这个:

//If you want to try
$line = "Please insert a tab to this string anywhere!"; //Do what i say! :)))

$tab = false;
if (preg_match("/\t/", $line)) {
    $tab = true;
}
var_dump($tab);

【讨论】:

  • 那里好像没有“\t”代码。我拥有的文件是一个简单的 .txt 文件,其中没有任何 html。只需 2 行
  • 无论您使用哪种文件,我们都会解析该文件的所有行。创建一个空白 php 文件,将我的代码复制到其中,在字符串中的 2 个单词之间添加一个制表符,然后运行代码。输出应该是真的。我已经测试过了。
  • 好吧,最后我通过将 $line 转换为字符串 ($line="$line") 让它与您的方法一起使用。我不知道为什么它还不是字符串,但我很高兴有效 。感谢您的时间 ! :-)))
  • if(stristr($line,"\t")){ $tab=true; }
猜你喜欢
  • 2013-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-21
相关资源
最近更新 更多