在特定字符第 n 次出现时剪切字符串

问题描述 投票:0回答:6
$string = "aaa, bbb, ccc, ddd, eee, fff";

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

aaa, bbb, ccc
php character
6个回答
24
投票

您可以使用

strpos()
substr()
来实现此目的。参见

使用爆炸的替代方法:

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

9
投票
$x = explode(',', $string);
$result = "$x[0], $x[1], $x[2]";

3
投票

如果您不确切知道要计算的字符数,我会建议像这样的

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


2
投票

如果它特定于第三个字符串,请尝试,

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

演示


2
投票
$string = "aaa, bbb, ccc, ddd, eee, fff";
$arr = explode(", ", $string);
$arr = array_splice($arr, 0, 3);
$string = implode($arr, ", ");

echo $string; // = "aaa, bbb, ccc"

1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.