当前位置:Gxlcms > PHP教程 > php将字符串中间部分替换成省略号的功能

php将字符串中间部分替换成省略号的功能

时间:2021-07-01 10:21:17 帮助过:64人阅读

本篇文章主要介绍php将字符串中间部分替换成省略号的功能,感兴趣的朋友参考下,希望对大家有所帮助。

本文实例讲述了php替换字符串中间字符为省略号的方法。具体分析如下:

对于一个长字符串,如果你只希望用户看到头尾的部分内容,隐藏掉中间内容,你可以使用这个php函数,他可以指定要隐藏掉的中间字符串的数量

  1. /**
  2. * Reduce a string by the middle, keeps whole words together
  3. *
  4. * @param string $string
  5. * @param int $max (default 50)
  6. * @param string $replacement (default [...])
  7. * @return string
  8. * @author david at ethinkn dot com
  9. * @author loic at xhtml dot ne
  10. * @author arne dot hartherz at gmx dot net
  11. */
  12. function strMiddleReduceWordSensitive($string,$max=50,$rep='[...]'){
  13. $strlen = strlen($string);
  14. if ($strlen <= $max)
  15. return $string;
  16. $lengthtokeep = $max - strlen($rep);
  17. $start = 0;
  18. $end = 0;
  19. if (($lengthtokeep % 2) == 0) {
  20. $start = $lengthtokeep / 2;
  21. $end = $start;
  22. } else {
  23. $start = intval($lengthtokeep / 2);
  24. $end = $start + 1;
  25. }
  26. $i = $start;
  27. $tmp_string = $string;
  28. while ($i < $strlen) {
  29. if (isset($tmp_string[$i]) and $tmp_string[$i] == ' ') {
  30. $tmp_string = substr($tmp_string, 0, $i) . $rep;
  31. $return = $tmp_string;
  32. }
  33. $i++;
  34. }
  35. $i = $end;
  36. $tmp_string = strrev ($string);
  37. while ($i < $strlen) {
  38. if (isset($tmp_string[$i]) and $tmp_string[$i] == ' ') {
  39. $tmp_string = substr($tmp_string, 0, $i);
  40. $return .= strrev ($tmp_string);
  41. }
  42. $i++;
  43. }
  44. return $return;
  45. return substr($string, 0, $start).$rep.substr($string, - $end);
  46. }

演示范例:

  1. // example:
  2. $text = 'This is a very long test sentence, bla foo bar nothing';
  3. print strMiddleReduceWordSensitive ($text, 30) . "\n";
  4. // Returns: This is a very[...]foo bar nothing (~ 30 chrs)
  5. print strMiddleReduceWordSensitive ($text, 30, '...') . "\n";
  6. // Returns: This is a very...foo bar nothing (~ 30 chrs)

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

PHP使用Snoopy类实现页面抓取的方法

php类的继承及扩展操作技巧

php对象实例化与克隆的使用方法

以上就是php将字符串中间部分替换成省略号的功能的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行