【问题标题】:Removing Extra Line From String Using regex使用正则表达式从字符串中删除多余的行
【发布时间】:2014-08-06 08:35:14
【问题描述】:

我的字符串有这样的文字;

TEXT 1 GOES HERE

TEXT 2 GOES HERE

TEXT 3 GOES HERE

我希望它是这样的;

TEXT 1 GOES HERE
TEXT 2 GOES HERE
TEXT 3 GOES HERE

我正在尝试这段代码;

    $news_setting = str_replace('\n\n','\n',$news_settings);
    $news_array = explode("\n",$news_setting);
    foreach($news_array AS $news)
    {
        $news_bit .= '<div class="news_bit">'.$news.'</div>';
    }

但不幸的是,它没有删除任何额外的换行符。请帮忙!

【问题讨论】:

  • str_replace() 不是解决方案。你必须尝试 preg_replace()
  • 嗨,tahnkx。请举个例子?
  • 好的,等一两分钟

标签: php regex


【解决方案1】:

试试这个:

    $news_setting = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $news_settings);
    $news_array = explode("\n",$news_setting);
    foreach($news_array AS $news)
    {
        $news_bit .= '<div class="news_bit">'.$news.'</div>';
    }

【讨论】:

    【解决方案2】:

    试试这个

    $text = "TEXT 1 GOES HERE
    
    TEXT 2 GOES HERE
    
    TEXT 3 GOES HERE";
    $text = preg_replace("/[\r\n]+/", "\n", $text);
    echo $text;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-23
      • 1970-01-01
      • 2021-01-17
      • 2014-06-20
      相关资源
      最近更新 更多