【问题标题】:PHP Cut String At specific characterPHP在特定字符处剪切字符串
【发布时间】:2013-01-14 02:42:44
【问题描述】:
$string = "aaa, bbb, ccc, ddd, eee, fff";

我想在第三个之后剪切字符串,所以我想从字符串中获取输出:

aaa, bbb, ccc

【问题讨论】:

标签: php character


【解决方案1】:

您可以为此使用strpos()substr()。见

使用爆炸的替代方法:

$arr = explode(',', $string);
$string = implode(',',array_slice($arr, 0, 3);

【讨论】:

  • 我不会使用你提到的 substr/strpos 方法(尽管你可以使用递归以不同的方式来做),因为它相对不灵活(如果你只想要第三个,不知道是什么之前和之后),但内爆的想法很好。
  • 谢谢...它就像一个魅力..:) 使用 implode 我限制了我的网页及其工作的结果。
  • 好的,很好!请标记答案,以便其他用户也可以使用。
  • strpos(', ddd') 缺少干草堆,应该是 strpos($string, ', ddd')
【解决方案2】:
$x = explode(',', $string);
$result = "$x[0], $x[1], $x[2]";

【讨论】:

【解决方案3】:

如果它是特定于直到第三个字符串而不是尝试,

$output = implode(array_slice(explode(",",$string), 0, 3),","); 

Demo.

【讨论】:

    【解决方案4】:
    $string = "aaa, bbb, ccc, ddd, eee, fff";
    $arr = explode(", ", $string);
    $arr = array_splice($arr, 0, 3);
    $string = implode($arr, ", ");
    
    echo $string; // = "aaa, bbb, ccc"
    

    【讨论】:

      【解决方案5】:

      如果您不确切知道要计算的字符数,我建议您使用 Implode Explode,如下所示:

      $string = "aaa, bbb, ccc, ddd, eee, fff";
      $arr = explode(',' , $string);
      $out = array();
      for($i = 0; $i < 3; $i++)
      {
        $out[] = $arr[$i];
      }
      $string2 = implode(',', $out);
      echo $string2; // output is: aaa, bbb, ccc
      

      更新

      这是phpfiddle

      【讨论】:

      • 为什么是ddd, eee, fff?当用户想要aaa, bbb, ccc.
      • @Rikesh - 有什么不同吗?重要的是概念
      • 它可能不会误导用户。谢谢:)
      【解决方案6】:

      你可以使用explode()和implode() PHP函数来获取它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-06-01
        • 2013-06-01
        • 1970-01-01
        • 2021-01-08
        • 1970-01-01
        • 1970-01-01
        • 2019-02-01
        相关资源
        最近更新 更多