You are here

private static function kintParser::_parse_string in Devel 8.2

Same name and namespace in other branches
  1. 8 kint/kint/inc/kintParser.class.php \kintParser::_parse_string()

File

kint/kint/inc/kintParser.class.php, line 560

Class

kintParser

Code

private static function _parse_string(&$variable, kintVariableData $variableData) {
  $variableData->type = 'string';
  $encoding = self::_detectEncoding($variable);
  if ($encoding !== 'ASCII') {
    $variableData->type .= ' ' . $encoding;
  }
  $variableData->size = self::_strlen($variable, $encoding);
  if (Kint::enabled() !== Kint::MODE_RICH) {
    $variableData->value = '"' . self::escape($variable, $encoding) . '"';
    return;
  }
  if (!self::$_placeFullStringInValue) {
    $strippedString = preg_replace('[\\s+]', ' ', $variable);
    if (Kint::$maxStrLength && $variableData->size > Kint::$maxStrLength) {

      // encode and truncate
      $variableData->value = '"' . self::escape(self::_substr($strippedString, 0, Kint::$maxStrLength, $encoding), $encoding) . '…"';
      $variableData->extendedValue = self::escape($variable, $encoding);
      return;
    }
    elseif ($variable !== $strippedString) {

      // omit no data from display
      $variableData->value = '"' . self::escape($variable, $encoding) . '"';
      $variableData->extendedValue = self::escape($variable, $encoding);
      return;
    }
  }
  $variableData->value = '"' . self::escape($variable, $encoding) . '"';
}