【问题标题】:PHP - Remove all tabs from stringPHP - 从字符串中删除所有选项卡
【发布时间】:2013-01-29 16:00:37
【问题描述】:

我能够从字符串中删除所有单个标签:

// Copying and pasting the tab directly
$txt = str_replace("    ", "", $txt); 

这只会删除单个标签,但不会删除双标签。 然后我尝试了这个,认为“\t”足以找到标签:

$txt = preg_replace('/\t/', '', $txt);

但是,它没有用。谁能提供更好的东西?

【问题讨论】:

标签: php tabs


【解决方案1】:
trim(preg_replace('/\t+/', '', $string))

【讨论】:

  • 虽然和外星先生的帖子类似(没用),但是这个有效。
【解决方案2】:

试试这个正则表达式

$string = trim(preg_replace('/\t/g', '', $string));

这将删除字符串中的所有选项卡...

【讨论】:

  • 制表符是空白;但空白并不总是一个标签
  • @MarkBaker 根据你的说法,我应该删除 g 部分?
  • 不,g 部分完全没有意义......我是说 \s 包括空格和制表符; OP专门询问标签
  • @MarkBaker 是的,我知道了,我以为你是在告诉我删除全局
  • g 标志在 PHP 的 PCRE 实现中不存在。替换总是全局执行。您的原样解决方案不起作用!
【解决方案3】:

这将删除变量 $string 中的所有选项卡

preg_replace('/\s+/', '', $string);

【讨论】:

  • 这不也只是删除字符串中的所有空格吗?
  • \s[\t\r\n\f] 的简写。它匹配 new linereturnform feed 以及 tabulator
  • 用单个空格替换任何空白 [\t\r\n\f],preg_replace('/\s+/', ' ', trim($string));
【解决方案4】:
trim(preg_replace('/[\t|\s{2,}]/', '', $result))

删除所有选项卡,包括使用多个空格创建的选项卡

【讨论】:

  • 这也会删除所有常规空格。我在单引号之间添加了一个空格,这对我来说非常有用。它用一个空格替换了所有制表符、空格等。我试图将文本转换为 csv。我需要去掉所有的制表符、双空格等,因为它触发了一个新列。这对我有用。 trim(preg_replace('/[\t|\s{2,}]/', ' ', $result))
【解决方案5】:

$string = trim(preg_replace('/\t/', '', $string));

这对我有用。删除@Mr. 的g。外星人回答。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 2016-03-03
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多