在PHP中截断UTF8单词

问题描述 投票:-1回答:1

我正在使用此代码将句子剪切成前3个单词,但它不适用于utf8字符。

function truncateWords($input, $numwords, $padding="")
{
   $output = strtok($input, " \n");
   while(--$numwords > 0) $output .= " " . strtok(" \n");
   if($output != $input) $output .= $padding;
   return $output;
}

我需要一些帮助来削减utf8字符。

例如:“我需要一些帮助来削减它”>>“我需要一些”

但不适用于utf8“挑战喜剧4”我期待的结果如“挑战列表”

php utf-8 truncate
1个回答
1
投票

你不需要循环来做到这一点,你可以简单地使用explodearray_sliceimplode

<?php
$str = 'Thách Thức Danh Hài 4';

//Thách Thức Danh
echo implode(' ', array_slice(explode(' ', $str), 0, 3));

https://3v4l.org/6be5S

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