>  기사  >  백엔드 개발  >  문자열의 중간 부분을 타원으로 바꾸는 PHP 함수

문자열의 중간 부분을 타원으로 바꾸는 PHP 함수

墨辰丷
墨辰丷원래의
2018-06-11 10:48:492576검색

이 글은 주로 PHP에서 문자열의 중간 부분을 줄임표로 바꾸는 기능을 소개합니다. 관심 있는 친구들이 참고하면 좋겠습니다.

이 문서의 예에서는 PHP에서 문자열의 중간 문자를 줄임표로 바꾸는 방법을 설명합니다. 구체적인 분석은 다음과 같습니다.

긴 문자열의 경우 사용자에게 내용의 시작과 끝만 표시하고 중간 내용은 숨기려는 경우 중간 문자열 수를 지정할 수 있는 이 php 함수를 사용할 수 있습니다. to be hide

/**
 * Reduce a string by the middle, keeps whole words together
 *
 * @param string $string
 * @param int $max (default 50)
 * @param string $replacement (default [...])
 * @return string
 * @author david at ethinkn dot com
 * @author loic at xhtml dot ne
 * @author arne dot hartherz at gmx dot net
 */
function strMiddleReduceWordSensitive($string,$max=50,$rep='[...]'){
  $strlen = strlen($string);
  if ($strlen <= $max)
    return $string;
  $lengthtokeep = $max - strlen($rep);
  $start = 0;
  $end = 0;
  if (($lengthtokeep % 2) == 0) {
    $start = $lengthtokeep / 2;
    $end = $start;
  } else {
    $start = intval($lengthtokeep / 2);
    $end = $start + 1;
  }
  $i = $start;
  $tmp_string = $string;
  while ($i < $strlen) {
    if (isset($tmp_string[$i]) and $tmp_string[$i] == &#39; &#39;) {
      $tmp_string = substr($tmp_string, 0, $i) . $rep;
      $return = $tmp_string;
    }
    $i++;
  }
  $i = $end;
  $tmp_string = strrev ($string);
  while ($i < $strlen) {
    if (isset($tmp_string[$i]) and $tmp_string[$i] == &#39; &#39;) {
      $tmp_string = substr($tmp_string, 0, $i);
      $return .= strrev ($tmp_string);
    }
    $i++;
  }
  return $return;
  return substr($string, 0, $start).$rep.substr($string, - $end);
}

데모 예시:

// example:
$text = &#39;This is a very long test sentence, bla foo bar nothing&#39;;
print strMiddleReduceWordSensitive ($text, 30) . "\n";
// Returns: This is a very[...]foo bar nothing (~ 30 chrs)
print strMiddleReduceWordSensitive ($text, 30, &#39;...&#39;) . "\n";
// Returns: This is a very...foo bar nothing (~ 30 chrs)

요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다.

관련 추천:

PHP에서 스누피 클래스를 사용하여 페이지 스크래핑을 구현하는 방법

PHP 클래스의 상속 및 확장 조작 기술

PHP 객체 인스턴스화 및 복제 사용 방법

위 내용은 문자열의 중간 부분을 타원으로 바꾸는 PHP 함수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.