我正在处理这段代码,它会占用我的字符串并使其长度为200个字符然后删除最后一个空白区域,这样我的字符串就会显示为“这是我的'而不是'这是我的stri'
这是我到目前为止所得到的:
$description = substr($value['description'], 0, 200);
现在我希望它删除字符串中的最后一个空白区域。谷歌之后,我发现的只是php修剪功能,但没有关于删除最后一个,只是所有..
任何提示?
答案 0 :(得分:0)
function mycoolstring($longstring)
{
$stringarray=array();
if(strlen($longstring)>=200){
$stringarray=explode(" ",substr($longstring,0,200));
}
else{
$stringarray=explode(" ",$longstring);
}
$output=stringarray[0];
for($i=1;$i<count($stringarray)-1;$i++;
{
$output.=" " . $stringarray[$i];
}
return $output;
}
echo mycoolstring($value['discription']);
这可能是一个奇怪的逻辑,但它应该工作。任何人看到错误请告诉我或编辑它。 :)
答案 1 :(得分:0)
如果你想让它长达200个字符,但是如果你不想让最后一个字只是部分,它应该是这样的:
<?php
mb_internal_encoding('UTF-8');
$value['description'] = 'avbd wreiuui ewrwrewre';
$desiredLength = 8;
if (mb_strlen($value['description']) <= $desiredLength) {
$description = $value['description'];
}
else {
$description = mb_substr($value['description'], 0, mb_strpos($value['description'],' ',$desiredLength-1));
}
echo $description."<br />";
答案 2 :(得分:-1)
function firstXChars($string, $chars = 100) {
preg_match('/^.{0,' . $chars. '}(?:.*?)\b/iu', $string, $matches);
return $matches[0];
}
echo firstXChars($value['description'], 200);