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);
請注意,將最后一個限制參數添加到爆炸函數將防止它在非常大的字符串的情況下過于昂貴。字符串的其余部分將被放入第四個即最后一個元素中。

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 關注
- 187 瀏覽
添加回答
舉報