当使用 strpos 以确保它仅以单词结尾时,不返回所需的子字符串


Not returning desired substring when strpos is used for making sure that it ends with a word only

我使用以下函数从描述字段中提取子字符串,并确保它仅以完整的单词结尾。

function smalldescription($msg)
{
    $message=substr($msg, 0, strpos($msg, ' ', 500));
    $message=$message."...";
    return $message;
}

我的问题是,如果$msg是一个很长的描述,那么该函数会很好地返回 500 个字符。但是,如果$msg不是冗长的描述,比如只有 20 个字符,那么生成的字符串就只有 ...。谁能帮我解决问题。

看到这个

function smalldescription($msg)
{
if (strlen($msg) > 500)
{
    $message=substr($msg, 0, strpos($msg, ' ', 500));
    $message=$message."...";
    return $message;
}
else
{
     return $msg;
}
}