使用PHP在字符串中的第n个字符之前截断直到精确符号

时间:2017-02-09 00:27:48

标签: php string truncate

假设我们有以下示例字符串:

  

我们有fname,lname,年龄和年份,工资,南希,davolio,erin,borakova,tony,raphael等词语

我需要做的是,获取字符串的一部分直到,分隔符的最后一次出现,结果必须是最多70个字符。

因此,对于示例文本,结果必须类似于:

  

我们有诸如fname,lname,年龄和年份,工资,南希等词语

是否有任何PHP的单一功能可以执行这样的操作?

我尝试过类似的事情:

$max_allowed_len = 70;
if (strlen($str) > $max_allowed_len) {
    $cut_pos = strpos($ico_titles, ',', $max_allowed_len - 20);
    $text = substr($str, 0, $cut_pos);
}

但是,我认为使用

 $max_allowed_len - 20

因为偏移点不会给我确切的结果。

1 个答案:

答案 0 :(得分:0)

以下是您的问题的快速解决方法:

    $text="We have words such as fname, lname, age and year, salary, nancy, davolio, erin, borakova, tony, raphael";
    $max_allowed_len = 70;
    $truncated_text= substr($text, 0, $max_allowed_len);
    $result = substr($truncated_text, 0, strrpos($truncated_text, ','));
    echo $result;