我有一个像这样的字符串:$text = "你好,我只是在尝试一些东西" ;我需要在第三个空格字符之前剪切字符串,最终结果是:“你好,我只是” 。到目前为止我发现的只是如何在特定字符第一次出现之前进行剪切。
2 回答
炎炎设计
TA贡献1808条经验 获得超4个赞
我会使用爆炸来按空格分割,仅选择前三个(或更少)元素,然后爆炸来重新组装我想要的元素。
$text = "Hello, I'm just trying some stuff";
$words = explode(' ', $text, 4);
$first_three = array_slice($words, 0, 3);
$output = implode(' ', $first_three);
请注意,将最后一个限制参数添加到爆炸函数将防止它在非常大的字符串的情况下过于昂贵。字符串的其余部分将被放入第四个即最后一个元素中。
30秒到达战场
TA贡献1828条经验 获得超6个赞
好吧,你可以循环并维护一个空间的计数。如果计数达到 0,则该索引就是您substr可以调用的函数的最终限制。这也可以处理您指定的计数大于实际空间本身的情况。
<?php
$str = "Hello, I'm just trying some stuff";
$length = strlen($str);
$count = 3;
$index = $length;
for($i = 0; $i < $length; ++$i){
if($str[$i] == ' '){
$count--;
if($count == 0){
$index = $i;
break;
}
}
}
echo substr($str, 0, $index);
- 2 回答
- 0 关注
- 148 浏览
添加回答
举报
0/150
提交
取消